FINDREPLACE

【勇芳软件工作室】汉化HomePreviousNext

FINDREPLACE结构包含FindTextReplaceText功能用于初始化“查找和替换”常用对话框的信息。FINDMSGSTRING注册的邮件使用此结构将用户的搜索或替换输入传递到“查找或替换公共对话框”的所有者窗口。

typedef struct { // fr

DWORD lStructSize;

HWND hwndOwner;

HINSTANCE hInstance;

DWORD Flags;

LPTSTR lpstrFindWhat;

LPTSTR lpstrReplaceWith;

WORD wFindWhatLen;

WORD wReplaceWithLen;

LPARAM lCustData;

LPFRHOOKPROC lpfnHook;

LPCTSTR lpTemplateName;

} FINDREPLACE;

会员

lStructSize

指定结构的长度(以字节为单位)。

hwndOwner

标识拥有该对话框的窗口。指定窗口的窗口过程从对话框接收到FINDMSGSTRING消息。该成员可以是任何有效的窗口句柄,但不能为NULL。

的hInstance

如果在成员中设置了FR_ENABLETEMPLATEHANDLE标志,则的hInstance是包含对话框模板的内存对象的句柄。如果FR_ENABLETEMPLATE标志被设置,的hInstance标识包含由lpTemplateName成员命名的对话框模板的模块。如果没有设置任何标志,则该成员将被忽略。

一组位标志,可用于初始化对话框。当它发送FINDMSGSTRING注册消息以指示用户的输入时,该对话框设置这些标志。该成员可以是以下标志的组合:

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

lpstrFindWhat

指向FINDMSGSTRING消息用于传递用户在“查找内容:”编辑控件中键入的空终止搜索字符串的缓冲区。您必须动态分配缓冲区或使用全局或静态数组,使其在对话框关闭之前不超出范围。缓冲区长度应至少为80个字符。如果在初始化对话框时缓冲区中包含一个字符串,则该字符串将显示在“Find What:”编辑控件中。

如果FINDMSGSTRING消息指定FR_FINDNEXT标志,则lpstrFindWhat包含要搜索的字符串。FR_DOWN,FR_WHOLEWORD和FR_MATCHCASE标志指示搜索的方向和类型。如果FINDMSGSTRING消息指定FR_REPLACE或FR_REPLACE标志,则lpstrFindWhat包含要替换的字符串。

lpstrReplaceWith

指向FINDMSGSTRING消息用于传递用户在“替换为:”编辑控件中键入的空终止的替换字符串的缓冲区。您必须动态分配缓冲区或使用全局或静态数组,使其在对话框关闭之前不超出范围。如果缓冲区包含一个字符串,当您初始化对话框时,字符串显示在“替换为:”编辑控件。

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

FindText函数忽略此成员。

wFindWhatLen

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

wReplaceWithLen

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

lCustData

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

lpfnHook

指向FRHookProc挂钩过程的指针,可以处理用于该对话框的消息。除非在成员中设置FR_ENABLEHOOK标志,否则此成员将被忽略。

如果挂钩过程返回FALSE以响应WM_INITDIALOG消息,挂钩过程必须显示对话框,否则对话框将不会显示。为此,首先执行任何其他绘画操作,然后调用ShowWindowUpdateWindow函数。

lpTemplateName

指向由的hInstance成员标识的模块中的对话框模板资源的以null结尾的字符串。此模板代替标准对话框模板。对于编号的对话框资源,这可以是由MAKEINTRESOURCE宏返回的值。除非在成员中设置FR_ENABLETEMPLATE标志,否则该成员将被忽略。

也可以看看

FindText, FRHookProc, MAKEINTRESOURCE, ReplaceText, ShowWindow, UpdateWindow, WM_INITDIALOG