FINDREPLACEA 结构 (commdlg.h)

包含 FindTextReplaceText 函数用于初始化 “查找 ”和“ 替换 ”对话框的信息。 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

如果在 Flags 中设置了FR_ENABLETEMPLATEHANDLE标志,则 hInstance 是包含对话框模板的内存对象的句柄。 如果设置了 FR_ENABLETEMPLATE 标志, 则 hInstance 是包含由 lpTemplateName 成员命名的对话框模板的模块的句柄。 如果两个标志均未设置,则忽略此成员。

Flags

类型:DWORD

可用于初始化对话框的一组位标志。 对话框在发送 FINDMSGSTRING 注册消息以指示用户的输入时设置这些标志。 此成员可以是以下一个或多个值。

含义
FR_DIALOGTERM
0x00000040
如果在 FINDMSGSTRING 消息中设置,则指示对话框正在关闭。 收到设置了此标志的消息时, FindTextReplaceText 函数返回的对话框句柄不再有效。
FR_DOWN
0x00000001
如果已设置,则会选择“查找”对话框中方向单选按钮的“向下”按钮,指示应从当前位置到文档末尾进行搜索。 如果未设置,则会选择“ 向上 ”按钮,因此应搜索到文档的开头。 可以设置此标志来初始化对话框。 如果在 FINDMSGSTRING 消息中设置,则指示用户的选择。
FR_ENABLEHOOK
0x00000100
启用 lpfnHook 成员中指定的挂钩函数。 此标志仅用于初始化对话框。
FR_ENABLETEMPLATE
0x00000200
指示 hInstancelpTemplateName 成员指定要用于替代默认模板的对话框模板。 此标志仅用于初始化对话框。
FR_ENABLETEMPLATEHANDLE
0x00002000
指示 hInstance 成员标识包含预加载对话框模板的数据块。 如果指定了此标志,系统会忽略 lpTemplateName 成员。
FR_FINDNEXT
0x00000008
如果在 FINDMSGSTRING 消息中设置,则表示用户单击了“查找”或“替换”对话框中的“查找下一个”按钮。 lpstrFindWhat 成员指定要搜索的字符串。
FR_HIDEUPDOWN
0x00004000
如果在初始化 “查找 ”对话框时设置,则隐藏搜索方向单选按钮。
FR_HIDEMATCHCASE
0x00008000
如果在初始化“查找”或“替换”对话框时设置,则隐藏“匹配大小写检查框。
FR_HIDEWHOLEWORD
0x00010000
如果在初始化“查找”或“替换”对话框时设置,则隐藏“匹配整个Word仅检查框。
FR_MATCHCASE
0x00000004
如果已设置,则选中“匹配大小写检查框,指示搜索应区分大小写。 如果未设置,则取消选择检查框,因此搜索应不区分大小写。 可以设置此标志来初始化对话框。 如果在 FINDMSGSTRING 消息中设置,则指示用户的选择。
FR_NOMATCHCASE
0x00000800
如果在初始化“查找”或“替换”对话框时设置,则禁用“匹配大小写检查框。
FR_NOUPDOWN
0x00000400
如果在初始化 “查找 ”对话框时设置,则禁用搜索方向单选按钮。
FR_NOWHOLEWORD
0x00001000
如果在初始化“查找”或“替换”对话框时设置,则禁用“整个Word检查框。
FR_REPLACE
0x00000010
如果在 FINDMSGSTRING 消息中设置,则指示用户单击了“ 替换 ”对话框中的“ 替换 ”按钮。 lpstrFind What 成员指定要替换的字符串,lpstrReplaceWith 成员指定替换字符串。
FR_REPLACEALL
0x00000020
如果在 FINDMSGSTRING 消息中设置,则指示用户单击了“替换”对话框中的“全部替换”按钮。 lpstrFind What 成员指定要替换的字符串,lpstrReplaceWith 成员指定替换字符串。
FR_SHOWHELP
0x00000080
使对话框显示“ 帮助 ”按钮。 hwndOwner 成员必须指定用于接收用户单击“帮助”按钮时对话框发送的 HELPMSGSTRING 注册消息的窗口。
FR_WHOLEWORD
0x00000002
如果设置,则选中“匹配整个Word仅检查”框,指示应仅搜索与搜索字符串匹配的全字。 如果未设置,则未选中检查框,因此还应搜索与搜索字符串匹配的单词片段。 可以设置此标志来初始化对话框。 如果在 FINDMSGSTRING 消息中设置,则指示用户的选择。

lpstrFindWhat

类型: LPTSTR

用户在 “查找内容 ”编辑控件中键入的搜索字符串。 必须动态分配缓冲区或使用全局或静态数组,以便在对话框关闭之前,它不会超出范围。 缓冲区长度应至少为 80 个字符。 如果在初始化对话框时缓冲区包含字符串,该字符串将显示在 “查找内容 ”编辑控件中。 如果 FINDMSGSTRING 消息指定 FR_FINDNEXT 标志, 则 lpstrFindWhat 包含要搜索的字符串。 FR_DOWNFR_WHOLEWORDFR_MATCHCASE标志指示搜索的方向和类型。 如果 FINDMSGSTRING 消息指定 FR_REPLACEFR_REPLACE 标志, 则 lpstrFindWhat 包含要替换的字符串。

lpstrReplaceWith

类型: LPTSTR

用户在“替换为编辑”控件中键入的 替换 字符串。 必须动态分配缓冲区或使用全局或静态数组,以便在对话框关闭之前,它不会超出范围。 如果在初始化对话框时缓冲区包含字符串,该字符串将显示在 “替换为 ”编辑控件中。

如果 FINDMSGSTRING 消息指定 FR_REPLACEFR_REPLACEALL 标志, 则 lpstrReplaceWith 包含替换字符串 。

FindText 函数忽略此成员。

wFindWhatLen

类型: WORD

lpstrFind What 成员指向的缓冲区的长度(以字节为单位)。

wReplaceWithLen

类型: WORD

lpstrReplaceWith 成员指向的缓冲区的长度(以字节为单位)。

lCustData

类型:LPARAM

系统传递给 由 lpfnHook 成员标识的挂钩过程的应用程序定义数据。 当系统将 WM_INITDIALOG 消息发送到挂钩过程时,消息的 lParam 参数是指向创建对话框时指定的 FINDREPLACE 结构的指针。 挂钩过程可以使用此指针获取 lCustData 值。

lpfnHook

类型: LPFRHOOKPROC

指向可处理用于对话框的消息 的 FRHookProc 挂钩过程的指针。 除非在 Flags 成员中设置了FR_ENABLEHOOK标志,否则将忽略此成员。 如果挂钩过程返回 FALSE 以响应 WM_INITDIALOG 消息,则挂钩过程必须显示对话框,否则将不会显示对话框。 为此,请先执行任何其他绘制操作,然后调用 ShowWindowUpdateWindow 函数。

lpTemplateName

类型: LPCTSTR

hInstance 成员标识的模块中对话框模板资源的名称。 此模板将替换为标准对话框模板。 对于编号对话框资源,它可以是 MAKEINTRESOURCE 宏返回的值。 除非在 Flags 成员中设置了FR_ENABLETEMPLATE标志,否则将忽略此成员。

注解

注意

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

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 commdlg.h (包括 Windows.h)

另请参阅

通用对话框库

概念性

FRHookProc

FindText

MAKEINTRESOURCE

引用

ReplaceText

ShowWindow

WM_INITDIALOG