ReplaceTextA 函数 (commdlg.h)

创建系统定义的无模式对话框,允许用户指定要搜索的字符串和替换字符串,以及用于控制查找和替换操作的选项。

语法

HWND ReplaceTextA(
  [in, out] LPFINDREPLACEA unnamedParam1
);

参数

[in, out] unnamedParam1

类型:LPFINDREPLACE

指向 FINDREPLACE 结构的指针,该结构包含用于初始化对话框的信息。 该对话框使用此结构将有关用户输入的信息发送到应用程序。 有关详细信息,请参阅以下“备注”部分。

返回值

类型:HWND

如果函数成功,则返回值为对话框的窗口句柄。 可以使用窗口句柄与对话框通信或将其关闭。

如果函数失败,则返回值 NULL。 若要获取扩展的错误信息,请调用 CommDlgExtendedError 函数,该函数可以返回以下错误代码之一:

言论

ReplaceText 函数不执行文本替换操作。 相反,对话框会将 FINDMSGSTRING 注册的消息发送到对话框所有者窗口的窗口过程。 创建对话框时,hwndOwnerFINDREPLACE 结构的成员是所有者窗口的句柄。

在调用 ReplaceText之前,必须调用 RegisterWindowMessage 函数以获取 FINDMSGSTRING 消息的标识符。 当用户单击 “查找下一个”、“替换”或 “全部替换”按钮或对话框关闭时,对话框过程使用此标识符发送消息。 FINDMSGSTRING 消息的 lParam 参数包含指向 FINDREPLACE 结构的指针。 此结构的 标志 成员指示导致消息的事件。 结构的其他成员指示用户的输入。

如果创建 替换 对话框,则还必须在应用程序的主消息循环中使用 IsDialogMessage 函数,以确保对话框正确处理键盘输入(如 TAB 和 ESC 键)。 IsDialogMessage 函数返回一个值,该值指示“替换”对话框是否处理了消息。

可以为 替换 对话框提供 FRHookProc 挂钩过程。 挂钩过程可以处理发送到对话框的消息。 若要启用挂钩过程,请在 FINDREPLACE 结构的 标志 成员中设置 FR_ENABLEHOOK 标志,并在 lpfnHook 成员中指定挂钩过程的地址。

注意

commdlg.h 标头将 ReplaceText 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 commdlg.h (包括 Windows.h)
Comdlg32.lib
DLL Comdlg32.dll
API 集 ext-ms-win-shell-comdlg32-l1-1-1(在 Windows 10 版本 10.0.14393 中引入)

另请参阅

CommDlgExtendedError

通用对话框库

概念

FINDREPLACE

FRHookProc

IsDialogMessage

参考

RegisterWindowMessage

WM_CTLCOLORDLG