vc++中的FINDREPLACE结构、ReplaceText和FindText函数怎么用

2025-02-25 15:31:14
推荐回答(2个)
回答1:

ReplaceText函数功能。该函数创建一个系统定义的无模式对话框,此对话框使用户查找或替代一个串,或执行控制和替代操作。   函数原型:HWND Replace Text (LPFINDREPLACE Ipfr);   参数:   Ipfr:指向一个包含初始化对话框的信息的FINDREPLACE结构。对话框应用此结构把用户输入的有关信息传送到应用程序。有关更多的信息,见卜列说明部分。   返回值:如果函数调用成功,返回值为对话框的窗口句柄,可以用窗口句柄与对话框联系或关闭它。如果函数调用失败,返回值为NULL。若想获得更多的错误信息,调用CommDlgExError函数,其返回值如下:   CDERR_FINDRESFAILURE CDERR_MEMLOCKFAILURE   CDERR_INITIALIZATION COERR_NOHINSTANCE   CDERR_LOADRESFAILURE CDERR_NOHOOK   CDERR_LOADSTRFAILURE CDERR_BITEMPLATE   CDERR_LOCKRESFAILURE CDERR_STRUCTSIZE   CDERR_MEMALLOCFAILURE FRERR_BUFFERLENGTHZERO   备注:PepIACE Text函数不执行文本替代操作。相反,对话框把FINDSGSTRING 已登记的信息传送到对话框窗口的窗口函数。当创建对话框时,FINDREPLACE结构的hwndowner成员指定该对话框窗口。   调用ReplaceText函数之前,必须调用RegisterWindowMessage函数为FINDSGSTRING信息登记标识。   当用户击点Find Next,Replace ALL按钮时,或当关闭对话框时,对话框函数应用这些标识发送信息。   FINDMSGSTRING信息中的IParam参数含有一个指向FINDREPLACE结构的指针。此结构的Flags成员表明了形式信息的事件。该结构中其他的成员表明用户的输入信息。   如果创建了Replace对话框,必须应用应用程序信息链中的IsDialogMesssage函数来保证对话框能正确处理链盘输入信息,例如Tab键和Esc键。   ISDialogMessage函数返回值表明Replace对话框是否处理信息。   可以为Replace对话枢提供一个FRHookProc挂钩函数,此挂钩函数能处理发送到对话框中的信息。   为使一个挂钩函数生效,可设置FINDREPLACE结构中Flags成员的FR_ENABLEHOOK标志且指定IpfnHook成员中挂钩函数的地址。   速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:commdlg.h;库文件:comdlg32.lib:Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。
FindText函数功能:该函数创建一个系统定义的无模式Find对话框,为使用户指定一个串来查找文本内的文字。   函数原型:HWND FindText(LPFINDREPLACE lpfr);   参数:   Ipfr:指向一个FINDEPLACE结构,此结构包含用来初始对话框的信息。对话框用此结构把用户输入的信息传送到应用程序。有关更多的信息,请参见下面说明部分。   返回值:如果函数调用成功,返回值是对话框的窗口句柄。可以使用窗口句柄与对话框联系或关闭它;如果函数调用失败,返回值为NULL。若想获得更多的错误信息,请调用CommDlgExtendedError函数。其返回值如下:   CDERR_FINDRESFAILURE;CDERR_MEMLOCKFAILURE;CDERR_INITIALIZATION   CDERR_NOHINSTANCE;CDERR_LOCKRESFAILURE;CDERR_NOHOOK   CDERR_LOADRESFAILURE;CDERR_NOTEMPLATE;CDERR_LOADSTRFAILURE   CDERR_STRUCTSIZE;CDERR_MEMALLOCFAILURE;FRERR_BUFFERLENGTHZERO   备注:FindText函数不执行查找操作,相反,对话框把FINDMSGSTRING己登记的信息传送到对话框窗口的窗口函数。当创建对话框时FINDReplace结构中的hwndCwner成员标识窗口。   调用Find Text函数前,必须调用RegisterWindowMessage函数以得到FINDMSGSTRING信息的标识符,对话框函数在用户点击FindNext按钮或对话框被关闭时利用此标识符传送信息。FINDMSGSTRING信息的IParam参数包含一个指向FINDREPLACE结构的指针,此结构的Flags成员显示开诚信息的事件。   其他成员显示用户的输入。   若想创建对话框,必须利用应用程序的主信息链中的IsDialogMessage函数来保证对话框正确处理键盘输入,例如Tab和Esc键。IsDialogMessage返回值显示Find对话框是否处理信息。   可以为Find对话框提供一个挂钩函数FRHookProc。挂钩函数可处理发送到对话框中的信息。为使挂钩函数生效,可设置HNDREPLACE结构的Flags成员的FR_ENABLEHOOK标志,且指定IpfnHook成员中挂钩函数的地址。   速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:commdlg.h;库文件:comdlg32.lib;Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。

回答2:

VC6 有示例的