Why did we create the HTML MessageBox?
There are a few problems with standard Windows MessageBoxes.
First, the font is rather small, which discourages your users
from reading them. Second, for anything over a couple of sentences
in your MessageBoxes, the lack of the ability to add emphasis,
except perhaps by "SHOUTING" with all capital letters,
decreases the chance that your users will pick up the important
points you are trying to communicate.
Using the HTML MessageBox solves those problems, by setting
a larger default font (Arial 10, but you can change that),
and allowing you to use various HTML tags to add emphasis and
thus make sure your program's users see the most important parts
of your message.
Cooperstock Software actually developed the HTML MessageBox to
solve exactly these problems in its other application
DONATION,
which is used by charities and churches to track their donors and
donations and issue receipts. After searching fruitlessly for an
existing suitable solution, I gave up and created the HTML
MessageBox. Having done so, it occurred to me that other
programmers might have the same requirements, so I decided to
make this available to others, for a reasonable price.
Are there other options?
There are in fact a few other options that seem to solve
the same problems, though they were not satisfactory for my needs:
- QHTM from GipsySoft is
a much more full-featured HTML control that can be embedded in
applications, and also includes a MessageBox replacement function
that uses its control. However, when I tried using it from my
PowerBuilder application, it crashed some of the time. And the
only way given to contact them was through a "contact me"
form, which they did not respond to until my 3rd attempt, a couple
of months after the first two attempts.
- The Rich Text MessageBox on
CodeProject:
This is a free project, which allows you to use Rich Text (RTF) in
MessageBoxes, and also has a few other features that go beyond the
normal Windows MessageBox API. However, who wants to have to use
RTF? It's extremely verbose, and not really writeable by hand
(at least, not for most
programmers!), so you have to enter your message in a word processor
and then save the RTF, then copy that into your application. That didn't
sound like fun to me.
- THTMLDialog
from tmssoftware.com, is a component for Delphi / C++ Builder that
has similar functionality to the HTML MessageBox, though it does
support more HTML tags. It includes source code, and is currently
(as of May 9, 2009) 30 EUR for a single developer, or 120 EUR for
a site license. Not being a Delphi developer, I haven't tested it.
- Qt is a
major cross-platform application and UI framework, delivered as
a C++ library, that includes (among many other things) a
MessageBox that supports a lot of HTML. Obviously, however, the
majority of Windows application programmers aren't using Qt, and
you are not going to want to switch to a major framework just in
order to enhance the readability of your MessageBoxes!
So, why not download and evaluate the HTML MessageBox, completely for free, and see for yourself how helpful it is and how much more
useable it makes your application?
I could write this myself!
Some of you who are expert Win32 GUI programmers are probably
thinking that you could easily write something like this yourselves,
and save the expense. Of course you could, but this product took
us many many hours to code and debug, to get it to
the level of features,
professionalism and solidity that it is at. If you want to do that,
go ahead!
But don't forget, there are a lot of things that the standard
MessageBox API, and this HTML MessageBox, solve for you, such
as auto-sizing the MessageBox to exactly fit around the message.
"Obvious" solutions like embedding an IE window in your
own window, to hold the HTML of a message, would not easily be coded
to have that advantage.