ReplaceTextA 函数 (commdlg.h)
创建系统定义的无模式对话框,该对话框允许用户指定要搜索的字符串和替换字符串,以及用于控制查找和替换操作的选项。
语法
HWND ReplaceTextA(
[in, out] LPFINDREPLACEA unnamedParam1
);
参数
[in, out] unnamedParam1
类型: LPFINDREPLACE
指向 FINDREPLACE 结构的指针,该结构包含用于初始化对话框的信息。 对话框使用此结构将有关用户输入的信息发送到应用程序。 有关更多信息,请参见下面的“备注”部分。
返回值
类型:HWND
如果函数成功,则返回值是对话框的窗口句柄。 可以使用窗口句柄与对话框通信或将其关闭。
如果函数失败,则返回值为 NULL。 若要获取扩展错误信息,请调用 CommDlgExtendedError 函数,该函数可返回以下错误代码之一:
注解
ReplaceText 函数不执行文本替换操作。 相反,对话框会将 FINDMSGSTRING 注册的消息发送到对话框所有者窗口的窗口过程。 创建对话框时,FINDREPLACE 结构的 hwndOwner 成员是所有者窗口的句柄。
在调用 ReplaceText 之前,必须调用 RegisterWindowMessage 函数以获取 FINDMSGSTRING 消息的标识符。 当用户单击“ 查找下一个”、“ 替换”或“ 全部替换 ”按钮或对话框关闭时,对话框过程使用此标识符发送消息。 FINDMSGSTRING 消息的 lParam 参数包含指向 FINDREPLACE 结构的指针。 此结构的 Flags 成员指示导致消息的事件。 结构的其他成员指示用户的输入。
如果创建“替换”对话框,还必须在应用程序的main消息循环中使用 IsDialogMessage 函数,以确保对话框正确处理键盘输入,例如 TAB 键和 ESC 键。 IsDialogMessage 函数返回一个值,该值指示“替换”对话框是否处理了消息。
可以为“替换”对话框提供 FRHookProc 挂钩过程。 挂钩过程可以处理发送到对话框的消息。 若要启用挂钩过程,请在 FINDREPLACE 结构的 Flags 成员中设置FR_ENABLEHOOK标志,并在 lpfnHook 成员中指定挂钩过程的地址。
注意
commdlg.h 标头将 ReplaceText 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | commdlg.h (包括 Windows.h) |
Library | Comdlg32.lib |
DLL | Comdlg32.dll |
API 集 | Windows 10版本 10.0.14393 中引入的 ext-ms-win-shell-comdlg32-l1-1-1 () |
另请参阅
概念性
引用