Customizing the Find or Replace Dialog Box

To customize a Find or Replace dialog box, you can use any of the following methods:

  • Specify values in the FINDREPLACE structure when you create the dialog box

  • Provide a custom template

  • Provide a hook procedure

When you create a Find or Replace dialog box, you can set flags in the Flags member of the FINDREPLACE structure to hide or disable any of the search option controls. For example, you can set the FR_NOMATCHCASE flag to disable the Match Case check box or set the FR_HIDEMATCHCASE flag to hide it.

You can provide a custom template for a Find or Replace dialog box, for example, if you want to include additional controls that are unique to your application. The FindText and ReplaceText functions use your custom template in place of the default template.

pics/WIN3200000004.gif To provide a custom template for a Find or Replace dialog box

  1. Create the custom template by modifying the default template specified in the FINDTEXT.DLG file. The control identifiers used in the default Find or Replace dialog template are defined in the DLGS.H file.

  2. Use the FINDREPLACE structure to enable the template as follows:

    • If your custom template is a resource in an application or dynamic-link library, set the FR_ENABLETEMPLATE flag in the Flags member. Use the hInstance and lpTemplateName members of the structure to identify the module and resource name.

-Or-

  • If your custom template is already in memory, set the FR_ENABLETEMPLATEHANDLE flag. Use the hInstance member to identify the memory object that contains the template.

You can provide an FRHookProc hook procedure for a Find or Replace dialog box. The hook procedure can process messages sent to the dialog box. If you use a custom template to define additional controls, you must provide a hook procedure to process input for your controls.

pics/WIN3200000004.gif To enable a hook procedure for a Find or Replace dialog box

  1. Set the FR_ENABLEHOOK flag in the Flags member of the FINDREPLACE structure.

  2. Specify the address of the hook procedure in the lpfnHook member.

After processing its WM_INITDIALOG message, the dialog box procedure sends a WM_INITDIALOG message to the hook procedure. The lParam parameter of this message is a pointer to the FINDREPLACE structure used to initialize the dialog box.

If the hook procedure returns FALSE in response to the WM_INITDIALOG message, the dialog box will not be shown unless the hook procedure displays it. To do this, first perform any other paint operations, and then call the ShowWindow and UpdateWindow functions. The following code provides an example:

// We've returned FALSE in response to WM_INITDIALOG.

// We've performed any other paint operations.

// Now we display the dialog box.

ShowWindow(hDlg, SW_SHOWNORMAL);

UpdateWindow(hDlg);

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database