FINDREPLACEA 结构 (commdlg.h)
包含 FindText 和 ReplaceText 函数用于初始化 查找 和 替换 对话框的信息。 FINDMSGSTRING 注册的消息使用此结构将用户的搜索或替换输入传递给 查找 或 替换 对话框的所有者窗口。
语法
typedef struct tagFINDREPLACEA {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
DWORD Flags;
LPSTR lpstrFindWhat;
LPSTR lpstrReplaceWith;
WORD wFindWhatLen;
WORD wReplaceWithLen;
LPARAM lCustData;
LPFRHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
} FINDREPLACEA, *LPFINDREPLACEA;
成员
lStructSize
类型:DWORD
结构的长度(以字节为单位)。
hwndOwner
类型:HWND
拥有对话框的窗口的句柄。 指定窗口的窗口过程从对话框中接收 FINDMSGSTRING 消息。 此成员可以是任何有效的窗口句柄,但不能 NULL。
hInstance
类型:HINSTANCE
如果在 标志中设置了 FR_ENABLETEMPLATEHANDLE 标志,hInstance 是包含对话框模板的内存对象的句柄。 如果设置了 FR_ENABLETEMPLATE 标志,hInstance 是包含由 lpTemplateName 成员命名的对话框模板的模块的句柄。 如果未设置这两个标志,则忽略此成员。
Flags
类型:DWORD
可用于初始化对话框的一组位标志。 对话框在发送 FINDMSGSTRING 注册消息以指示用户的输入时设置这些标志。 此成员可以是以下一个或多个值。
价值 | 意义 |
---|---|
|
如果在 FINDMSGSTRING 消息中设置,则表示对话框正在关闭。 收到设置了此标志的消息时,FindText 或 ReplaceText 函数返回的对话框句柄不再有效。 |
|
如果已设置,则选中 “查找”对话框中方向单选按钮的 向下 按钮,指示应从当前位置搜索到文档末尾。 如果未设置,则会选择“向上”按钮,以便搜索文档的开头。 可以设置此标志来初始化对话框。 如果在 FINDMSGSTRING 消息中设置,则指示用户的选择。 |
|
启用在 lpfnHook 成员中指定的挂钩函数。 此标志仅用于初始化对话框。 |
|
指示 hInstance 和 lpTemplateName 成员指定用于代替默认模板的对话框模板。 此标志仅用于初始化对话框。 |
|
指示 hInstance 成员标识包含预加载对话框模板的数据块。 如果指定了此标志,系统将忽略 lpTemplateName 成员。 |
|
如果在 FINDMSGSTRING 消息中设置,则表示用户在 “查找”或 “替换”对话框中单击了 “查找下一个”按钮。 lpstrFindWhat 成员指定要搜索的字符串。 |
|
如果在初始化 “查找”对话框时设置,则隐藏搜索方向单选按钮。 |
|
如果在初始化 查找 或 替换 对话框时设置,则隐藏 匹配事例 复选框。 |
|
如果在初始化 查找 或 替换 对话框时设置,则隐藏“仅匹配整字 ”复选框。 |
|
如果已设置,则选中“匹配大小写”复选框,指示搜索应区分大小写。 如果未设置,则取消选中该复选框,因此搜索应不区分大小写。 可以设置此标志来初始化对话框。 如果在 FINDMSGSTRING 消息中设置,则指示用户的选择。 |
|
如果在初始化 查找 或 替换 对话框时设置,请禁用 匹配事例 复选框。 |
|
如果在初始化 “查找”对话框时设置,则禁用搜索方向单选按钮。 |
|
如果在初始化 |
|
如果在 |
|
如果在 FINDMSGSTRING 消息中设置,则表示用户 单击 “替换”对话框中的“全部替换所有”按钮。 lpstrFindWhat 成员指定要替换的字符串,lpstrReplaceWith 成员指定要替换字符串。 |
|
使对话框显示“帮助”按钮 |
|
如果已设置,则选中 “仅匹配整字”复选框,指示应仅搜索与搜索字符串匹配的全字。 如果未设置,则取消选中该复选框,因此还应搜索与搜索字符串匹配的单词片段。 可以设置此标志来初始化对话框。 如果在 FINDMSGSTRING 消息中设置,则指示用户的选择。 |
lpstrFindWhat
类型:LPTSTR
用户在 查找内容 编辑控件中键入的搜索字符串。 必须动态分配缓冲区或使用全局或静态数组,以便在对话框关闭之前它不会超出范围。 缓冲区长度应至少为 80 个字符。 如果在初始化对话框时缓冲区包含字符串,则字符串将显示在 “查找内容” 编辑控件中。 如果 FINDMSGSTRING 消息指定 FR_FINDNEXT 标志,lpstrFindWhat 包含要搜索的字符串。 FR_DOWN、FR_WHOLEWORD和 FR_MATCHCASE 标志指示搜索的方向和类型。 如果 FINDMSGSTRING 消息指定 FR_REPLACE 或 FR_REPLACE 标志,lpstrFindWhat 包含要替换的字符串。
lpstrReplaceWith
类型:LPTSTR
用户在 “替换为” 编辑控件中键入的替换字符串。 必须动态分配缓冲区或使用全局或静态数组,以便在对话框关闭之前它不会超出范围。 如果在初始化对话框时缓冲区包含字符串,则字符串将显示在 替换为 编辑控件中。
如果 FINDMSGSTRING 消息指定 FR_REPLACE 或 FR_REPLACEALL 标志,lpstrReplaceWith 包含替换字符串。
findText 函数
wFindWhatLen
类型:WORD
lpstrFindWhat 成员指向的缓冲区的长度(以字节为单位)。
wReplaceWithLen
类型:WORD
lpstrReplaceWith 成员指向的缓冲区的长度(以字节为单位)。
lCustData
类型:LPARAM
系统传递给由 lpfnHook 成员标识的挂钩过程的应用程序定义数据。 当系统将 WM_INITDIALOG 消息发送到挂钩过程时,消息的 lParam 参数是指向创建对话框时指定的 FINDREPLACE 结构的指针。 挂钩过程可以使用此指针获取 lCustData 值。
lpfnHook
类型:LPFRHOOKPROC
指向 FRHookProc 挂钩过程的指针,该挂钩过程可以处理用于对话框的消息。 除非在 标志 成员中设置 FR_ENABLEHOOK 标志,否则将忽略此成员。 如果挂钩过程返回 FALSE 以响应 WM_INITDIALOG 消息,则挂钩过程必须显示对话框,否则不会显示对话框。 为此,请先执行任何其他绘制操作,然后调用 ShowWindow 和 UpdateWindow 函数。
lpTemplateName
类型:LPCTSTR
hInstance 成员标识的模块中的对话框模板资源的名称。 此模板替换为标准对话框模板。 对于编号对话框资源,此值可以是由 MAKEINTRESOURCE 宏
言论
注意
commdlg.h 标头将 FINDREPLACE 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | commdlg.h (包括 Windows.h) |
另请参阅
概念
参考