这两天看一个别人写的代码,在一个视图中需要用到查找对话框。于是在View类里定义了一个CFindReplaceDialog的指针:
CFindReplaceDialog *m_pFRDlg;
然后在需要使用查找功能的时候,用下面的代码响应:
void CTestSdiView::OnFindReplace()
{
// TODO: Add your command handler code here
if (m_pFRDlg == NULL)
{
m_pFRDlg = new CFindReplaceDialog();
TRACE("----0x%08x/n", m_pFRDlg);
m_pFRDlg->Create(TRUE, _T("hello"), _T(""), FR_DOWN, this);
}
m_pFRDlg->ShowWindow(SW_SHOW);
}
在查找下一个和关闭查找对话框的时候,用下面的代码响应:
LONG CTestSdiView::OnFindReplace(WPARAM wParam, LPARAM lParam)
{
CFindReplaceDialog *pDlg = CFindReplaceDialog::GetNotifier(lParam);
if (pDlg != NULL)
{
if (pDlg->IsTerminating())
{
// delete m_pFRDlg;
m_pFRDlg = NULL;
}