您的位置:首页 > 其它

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

2013-10-28 15:06 134 查看
查找(替换)对话框在VC中的使用

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

CString findString;

findReplaceDialog = new CFindReplaceDialog;

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



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步查找对话框就可以响应用户的鼠标点击事件了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: