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