*************************************************************************
FileSearch ver. 1.2 by Vitaly Tomilov. 14.06.2000 ***********************
*************************************************************************

This is a shareware ActiveX Control. It provides functionality of an
extended text edit line to input whether file path or directory.

Visually, the object consists of a text standard edit line with a square
button embedded immediately into the edit line on its right end, thus
the object looks like a single whole.

The button has a picture of a folder on it to give a hint to serve an action
if pressed. When pressed, it invokes windows standard dialogs: FileOpen or
BrowseDir, depending on the object's particular settings.

*************************************************************************
Available settings ******************************************************
*************************************************************************

1) Sort of dialog (OpenFile/BrowseDir)

2) Edit line modes (Fonts, Margins, Direct input,..)

3) For OpenFile: Flags set, Destination (FileOpen/FileSaveAs), Filter,
Initial filename, Default extension, i.e. everything the standard dialog
has in its properties.

4) For BrowseDir: Header (to appear above the selection tree), Use/Not
edit line for manual typing in of the path, Offer/Not to create a new folder
in case one the typed in doesn't exist, Current directory on browse start.


Some other features...

**************************************************************************
System/Files *************************************************************
**************************************************************************

This component functions under all clones of MS-Windows 9.X/NT.

The object consists of only one file FileSearch.OCX, 57.344 byte.
It requires the following DLLs to function:

MFC42.DLL,MSVCRT.DLL,OLEAUT32.DLL

If, for some reasons you don't have them preinstalled in your Windows\System
directory, they are available, for instance, from MS-Visual Studio 6 package.

All DLLs and FileSearch.OCX should be stored in your Windows\System directory.

***************************************************************************
Programming part **********************************************************
***************************************************************************

If you utilize a visual development tool (like MS-Access, etc.), then you can
have an easy program access to all object's properties as well as you can
do it visually.

For those, using MS-VC++, one can use this control in two ways:

1) Limited usage, simply by putting an instance of the object on your dialog,
setting all its properties and then running. In this case you probably will
need only three basic operations to require from this object: Make it accept
a text string on dialog WM_INITDIALOG occur, get the resulting text on a
certain event and handle the object's state changing (Has some text/Empty)
to reflect it on some objects' Enable/Disable properties. To do this, you
program might look like the following, admitting, that your object's
resource ID left intact, i.e. IDC_FILESEARCHCTRL1 or something and that you
utilize MFC library:

On WM_INITDIALOG: 
         GetDlgItem(IDC_FILESEARCHCTRL1)->SetWindowText("C:\\MyPath");

To get the resulting string:
         CString buffer;
         GetDlgItem(IDC_FILESEARCHCTRL1)->GetWindowText(Buffer);

To handle "Has text/Empty" changing, overlap EnableControls object's event.
The handler might look as follows:

void CMyDlg::OnEnableControlsFilesearchctrl1(BOOL Activate) 
{
  m_mybutton.EnableWindow(Action);	
}

E.I. If the object has some text, Action is TRUE, and it's FALSE when empty.


2) Full usage, when you add a variable of CFileSearch type into your project,
which enables you to use all the functions which CFileSearch provides to
manipulate its interface on your program runtime. This way the aforeconsidered
handlers would look as follows:

MyFileSearch.SetText("C:\\MyPath");
CString buffer = MyFileSearch.GetText();
accordingly, previous versions are also applicable though.
The event handler will remain the same.
A variable of CFileSearch will allow you to access all interface functions
which you can see in CFileSearch class tree after adding this type.


**************************************************************************
Thanx ********************************************************************
**************************************************************************

Thank you very much for choosing this component in your program development.
I would be very pleased to hear from anyone for comments, questions or
whatever.

One can reach me by Chopper@Mail2000.ru
You also may visit http://www.sv.tomsk.ru/~chopper - by the time of developing
this component it contained only my resume, well, yet you may find it
interesting in case you can offer me a job in C++ I'm an expert in, well,
I wouldn't create this sort of things otherwise, and this could go for trial
anyway, i think.

Truly Yours (Someone's),
Vitaly Tomilov.
