6.4.2 “查找和替换”对话框
查找和替换对话框可以在应用程序的文本中进行查找、替换操作,MFC的Cfind ReplaceDialog类对其进行了封装。
图6-26所示就是使用CFindReplaceDialog类创建的“查找”与“替换”对话框。

图6-26 “查找和替换”对话框
与其他Windows通用对话框不同是的,查找/替换对话框是非模态对话框,它的创建也与其他Windows通用对话框有区别:必须先使用默认构造函数进行对象的构造,再用new操作符分配存储空间后,调用Create()函数进行初始化,最后以ShowWindow()函数进行显示。Create()函数原型如下:
其中:
参数bFindDialogOnly为对话框类型,如果设置为TRUE,显示标准“查找”对话框,如果设置为FALSE,则显示查找/替换对话框。
参数lpszFindWhat指定要查找的字符串。
参数lpszReplaceWith指定替换找到的字符串的默认字符串。
参数dwFlags为标志位,可用一个或多个标志的组合来定制对话框,默认为FR_DOWN,指定查找方向是向下的。
参数pParentWnd指向对话框的父窗口或所有者窗口,此窗口是接收对话框中查找/替换信息的窗口,如果为NULL,则为调用此对话框主窗口。
为使窗口能响应查找/替换请求,必须在父窗口框架中调用Windows API RegistrWindow Message()函数对其进行注册,并使用ON_REGISTERED_MESSAGE消息映射宏处理注册的消息。
消息映射完成后,就可以从框架窗口的回调函数中调用CFindReplaceDialog类成员函数来进行查找替换操作。
【责任编辑:
杨硕 TEL:(010)68476636-8001】