CFindReplaceDialog的使用
2009-10-26 11:01
435 查看
一、对话框的创建与显示
先在菜单中用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;
}
先在菜单中用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;
}
相关文章推荐
- 通用对话框中的查找/替换对话框CFindReplaceDialog在WTL中的使用
- 查找/替换对话框CFindReplaceDialog的使用
- 查找/替换对话框CFindReplaceDialog的使用
- VC:CFindReplaceDialog(非模态对话框、IsWindow()、m_fr、GetFindString())
- 关于CFindReplaceDialog 指针的 释放
- CFindReplaceDialog
- 文本替换对话框 CFindReplaceDialog
- MFC:RichEdit and CFindReplaceDialog
- 查找/替换对话框CFindReplaceDialog
- 使用CFindReplaceDialog
- MFC使用CFindReplaceDialog 查找与替换
- Delphi TFindDialog TReplaceDialog对话框在Memo中的使用
- 使用CFindReplaceDialog
- JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
- jQuery UI全教程之一(dialog的使用教程)
- dialog的相关使用
- Android Dialog使用详解
- AlertDialog的基本使用
- [转] 弹出窗体 showModalDialog和showModelessDialog 使用心得
- (4.1.24.1)Android中Dialog的使用