10.5.5 查找、替换对话框实例

2013-10-07 13:10:38 · 作者: · 浏览: 79

10.5.5  查找、替换对话框实例

CFindReplaceDialog类允许用户执行标准的字符串查找替换功能,与普通的Windows公用对话框不同的是,此对话框是个非模态对话框,允许用户预期进行交互。CFindReplaceDialog对话框有两种,一种是查找对话框,一种是查找/替换对话框。要使用CFindReplaceDialog对象,首先使用CFindReplaceDialog构造函数创建对象,可以设置或修改m_fr结构的值初始化对话框的值。m_fr结构是一个FINDREPLACE。初始化对话框后,调用DoModal()成员函数显示对话框,并让用户执行查找替换操作。下面的代码显示了查找替换对话框的使用。

  1. void CDialogExampleDlg::OnButtonDialogFind()      
    // 单击查找替换对话框命令  
  2. {  
  3.     CFindReplaceDialog* dlg;                      
    // 定义对话框变量  
  4.     dlg = new CFindReplaceDialog();            
    // 构造对话框对象  
  5.     dlg->m_fr.lStructSize = sizeof(FINDREPLACE);   
    // 设置查找结构的长度  
  6.     // 创建显示查找替换对话框  
  7.     dlg->Create(false, "查找的内容", "替换的内容", 
    FR_DOWN | FR_WHOLEWORD,    this);  

上面代码首先定义了CFindReplaceDialog对象,对其进行设置,然后调用Create()函数。需要注意的是,因为替换查找对话框是非模态对话框,所以必须使用Create()函数创建显示;同时,要实现真正的查找替换功能需要与相关的视图相连,这里不再赘述。简单的方法是如果创建CRichEditView类型的视图,则框架自动完成查找替换功能。图10-22显示了调用查找替换对话框的运行效果图。

 
图10-22  查找替换对话框调用效果图