CFindReplaceDialog的使用

一、对话框的创建与显示

先在菜单中用ID号ID_EDIT_FIND添加一个“查找”菜单项,再用ClassWizard添加它的响应函数OnEditFind(),加入代码。
void CEditTestView::OnEditFind()  

   CFindReplaceDialog *m_pMyFindDialog= new CFindReplaceDialog();
   m_pMyFindDialog->Create(TRUE,NULL,NULL,FR_DOWN,this); //创建查找对话框
   m_pMyFindDialog->ShowWindow( SW_SHOW );    //显示对话框
}

FR_DOWN 如果设置,对话框中的“向下查找”单选按钮被选中,如果没有设置,“向上查找”单选按钮被选中;
FR_HIDEUPDOWN 不显示查找方向单选按钮;
FR_HIDEMATCHCASE 不显示区分大小写复选按钮;
FR_HIDEWHOLEWORD 不显示全字匹配复选按钮;
FR_MATCHCASE 使区分大小写复选按钮处于选中状态;
FR_WHOLEWORD 使全字匹配复选按钮处于选中状态;
FR_NOMATCHCASE 使区分大小写复选按钮处于禁止(变灰)状态;
FR_NOUPDOWN 使查找方向单选按钮处于禁止(变灰)状态;
FR_NOWHOLEWORD 使全字匹配复选按钮处于禁止(变灰)状态;
FR_SHOWHELP 在对话框中显示一个帮助按钮。

二、注册
头文件中,前面加入static UINT FindReplaceDialogMessage = ::RegisterWindowMessage(FINDMSGSTRING);以及公有函数LRESULT OnFindReplaceMessage(WPARAM wParam, LPARAM lParam);

源文件中加入ON_REGISTERED_MESSAGE(FindReplaceDialogMessage, OnFindReplaceMessage)

 

三、响应查找/替换消息
源文件中添加响应函数

LRESULT CEditTestView::OnFindReplaceMessage(WPARAM wParam, LPARAM lParam)
{
 CFindReplaceDialog* pFindReplace = CFindReplaceDialog::GetNotifier(lParam);
    ASSERT(pFindReplace != NULL);

    if (pFindReplace->IsTerminating())
    {
        pFindReplace = NULL;

    }
   else if (pFindReplace->FindNext())
   {
    if(FindText(pFindReplace->GetFindString(),pFindReplace->SearchDown()!=0 ? TRUE : FALSE,
   pFindReplace->MatchCase ? TRUE :FALSE))  //如果找到

  {   
  }
  else  //如果没有找到
  {
   MessageBox("查找完毕!");
  }

 return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值