再开一贴,解决CFindReplaceDialog类创建的查找对话框的使用问题,(连同另一贴共200分)!?
源贴:http://expert.csdn.net/Expert/topic/1227/1227683.xml?temp=.1629602
现在在:
菜单点击后,正常的查找对话框弹出,说明,其创建已经完成。主要是那个void CMainFrame::OnFind() 函数。
现在有了查找对话框,但是点击后没有效果。
察看其他文章,还有很多代码没有。所以:
加入:
static UINT FindDialogMessage = ::RegisterWindowMessage(FINDMSGSTRING);
//加入上面那句。
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_COMMAND(ID_FINDDLG, OnFind)
//}}AFX_MSG_MAP
ON_REGISTERED_MESSAGE(FindDialogMessage, OnFindDialogMessage) 加入这个。
END_MESSAGE_MAP()
还有函数OnFindDialogMessage()
LRESULT CMainFrame::OnFindDialogMessage(WPARAM wParam, LPARAM lParam)
{
CFindReplaceDialog *pDlg = CFindReplaceDialog::GetNotifier(lParam);
if( NULL != pDlg )
{
// Use pDlg as a pointer to the existing FindReplace dlg to
// call CFindReplaceDialog member functions
是不是要在此处 加入相应的代码,才可以实现真正的查找功能??
//我只加入下面2句,没作用呀!!!
pDlg->GetFindString();
pDlg->FindNext();
}
return 0;
}
--------------
现在就是怎么让弹出的通用查找对话框 实现真正的查找功能!
2个贴子是差不多,先谢了。