ReplaceText
The ReplaceText
function creates a system-defined modeless dialog box that lets the user
specify a string to search for and a replacement string, as well as options to
control the find and replace operations.
HWND ReplaceText(
|
LPFINDREPLACE lpfr |
// pointer to
structure with initialization data |
|
); |
|
Parameters
lpfr
Pointer to a FINDREPLACE structure that contains
information used to initialize the dialog box. The dialog box uses this
structure to send information about the user s input to your application. For
more information, see the following Remarks section.
Return Values
If the function
succeeds, the return value is the window handle to the dialog box. You can use
the window handle to communicate with the dialog box or close it.
If the
function fails, the return value is NULL. To get extended error information,
call the CommDlgExtendedError
function, which can return one of the following error codes:
|
CDERR_FINDRESFAILURE |
CDERR_MEMLOCKFAILURE |
|
CDERR_INITIALIZATION |
CDERR_NOHINSTANCE |
|
CDERR_LOADRESFAILURE |
CDERR_NOHOOK |
|
CDERR_LOADSTRFAILURE |
CDERR_NOTEMPLATE |
|
CDERR_LOCKRESFAILURE |
CDERR_STRUCTSIZE |
|
CDERR_MEMALLOCFAILURE |
FRERR_BUFFERLENGTHZERO |
Remarks
The ReplaceText
function does not perform a text replacement operation. Instead, the dialog box
sends FINDMSGSTRING
registered messages to the window procedure of the owner window of the dialog
box. When you create the dialog box, the hwndOwner member of the FINDREPLACE
structure identifies the owner window.
Before
calling ReplaceText, you must call the RegisterWindowMessage function to get the
identifier for the FINDMSGSTRING message. The dialog box procedure uses this
identifier to send messages when the user clicks the Find Next, Replace, or
Replace All buttons, or when the dialog box is closing. The lParam
parameter of a FINDMSGSTRING message contains a pointer to the FINDREPLACE structure. The Flags
member of this structure indicates the event that caused the message. Other
members of the structure indicate the user s input.
If you create
a Replace dialog box, you must also use the IsDialogMessage function in the main
message loop of your application to ensure that the dialog box correctly
processes keyboard input, such as the TAB and ESC keys. The IsDialogMessage function returns a
value that indicates whether the Replace dialog box processed the message.
You can
provide an FRHookProc
hook procedure for a Replace dialog box. The hook procedure can process
messages sent to the dialog box. To enable a hook procedure, set the
FR_ENABLEHOOK flag in the Flags member of the FINDREPLACE
structure and specify the address of the hook procedure in the lpfnHook
member.
See Also