Icon Browser - a "File Open" like dialog box that allows a user
to select an icon visually.  Uses TScrollBar based spin control
and gray background dialog box derived from TDialog - no DLL's
or VBX's needed.  Self-contained and easy to incorporate into
any program.  Works with Borland C++ version 4.0 only.

Included are the following files:

iconbrow.cpp   The source code for IconBrowseDlg class, derived
               from GrayDialog class (see below).
iconbrow.h     The header file for IconBrowseDlg.  Also includes a
               support class IconInfo that contains the information
               about an icon.
iconbrow.rh    The resource file for the dialog box itself.

graydlg.cpp    The source code for a dialog box with a gray 
               background.  It is derived from TDialog.
graydlg.h      The header file for GrayDialog.

To initiate the browser from your program, include the following code:

#include "iconbrow.h"

void MyWindow::NewIcon()
{
	IconInfo NewInfo;
	if( IconBrowseDlg(this, &NewInfo).Execute() == IDOK )
		[ process icon info ];
}

void MyWindow::ExistingIcon()
{
	if( IconBrowseDlg(this, &ExistingInfo).Execute() == IDOK )
		[ process icon info ];
}

void MyWindow::CustomFilterForIcon()
{
	char CustomFilter = "*.ico;*.dll";
	if( IconBrowseDlg(this, &IconInfo, CustomFilter).Execute() == IDOK )
		[ process icon info ];
}

That's it!  The IconInfo class returns all changes the user made to the
iconpath and optionally the index.