XML | HTML | TXT
您当前位置:软件开发 >> 新闻动态 >> 软件开发技术 >> 浏览文章

查找(替换)对话框在VC中的使用

查找(替换)对话框在VC中的使用

 

1.弹出查找(替换)对话框

   CString findString;

   findReplaceDialog = new CFindReplaceDialog;

 

   findReplaceDialog->Create( TRUE, findString, "" );

   

查找(替换)对话框在VC中的使用

 

2.如何实现在点击上图对话框中的“查找下一个”按钮时,查找指定字符?

  实现需要进行以下几步:

  ①自定义一个消息,这个消息必须调用API函数RegisterWindowMessage取得,并且必须指定为FINDMSGSTRING,它是一个宏定义的常量。

   UINT findMessage = ::RegisterWindowMessage( FINDMSGSTRING );

  

  ② 窗口类中定义:

  afx_msg LONG FindFun( UINT wParam, LONG lParam );

  ③窗口类实现:

  LONG xxx类::FindFun( UINT wParam, LONG lParam )

  

  在此中可任意调用findReplaceDialog对话框的类成员函数,用以判断用户在对话框中设置了哪些查询选项和点击了哪个按钮。

  BOOL SearchDown() const;         // TRUE 向下, FALSE 向上

  BOOL FindNext() const;           // TRUE 查找下一个

  BOOL MatchCase() const;          // TRUE 区分大小写

  BOOL MatchWholeWord() const;     // TRUE 全字匹配

  BOOL ReplaceCurrent() const;     // TRUE 替换

  BOOL ReplaceAll() const;         // TRUE 全部替换

  

  ④BEGIN_MESSAGE_MAP()

      ON_REGISTERED_MESSAGE( findMessage, FindFun )

      ...

    END_MESSAGE_MAP()

  经过以上4步查找对话框就可以响应用户的鼠标点击事件了。


手机:18678812288 E-Mail:1069706080@qq.com
地址:山东省济南市舜耕路泉城公园东门园内向北50米 鲁ICP备07011972号 版权所有2008-2013 山东赢德信息科技有限公司