MFC下文本查找功能的实现
来源:互联网 发布:数控车床滚花编程 编辑:程序博客网 时间:2024/06/15 15:16
①新建一个MFC AppWizard(exe)工程,选择单文档,最后一步选择"C[你的工程名]View"类,选择其基类(Base class):CRichEditView。这样就能建立一个可以编辑文本的自定义工作区的工程了。
②选择Resource中的Toolbar来新建工具条项,随便画一个图形,编辑其ID为ID_SEARCH,按Ctrl+W(或者点击View-ClassWizard)来启动消息映射,Object IDs中ID_SEARCH身上发生了COMMOND点击事件,应该由CMainFrame类中的OnSearch() 函数来处理。
③回到Resource视图中,右键Dialog选择Insert Dialog,
④ID为IDD_SEARCH_DIALOG,里面添加编辑框IDC_WORD,按钮IDC_SEARCH并且映射函数CDlgSearch::OnSearch() ,按钮IDCANCEL,然后双击对话框new一个class:CDlgSearch
⑤在②中的CMainFrame::OnSearch() 函数中显示刚才的非模式对话框:
#include "DlgSearch.h"void CMainFrame::OnSearch() {// TODO: Add your command handler code hereCDlgSearch *pDlg = new CDlgSearch(this);//实例化窗口pDlg->Create(IDD_SEARCH_DIALOG,this);//创建非模式窗口pDlg->CenterWindow(this);//居中显示pDlg->ShowWindow(SW_SHOW);//显示窗口}⑥在CDlgSearch类中映射CDlgSearch::OnShowWindow(BOOL bShow, UINT nStatus) ,编辑:
#include "MainFrm.h"#include "TestView.h"void CDlgSearch::OnShowWindow(BOOL bShow, UINT nStatus) {CDialog::OnShowWindow(bShow, nStatus);// TODO: Add your message handler code hereCEdit *pEdit = (CEdit *)GetDlgItem(IDC_WORD);//获取编辑框控件pEdit->SetFocus();//编辑框获取焦点//获取工作区视图CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd();CTestView *pView = (CTestView *)pFrame->GetActiveView();CRichEditCtrl *pCtrl = &(pView->GetRichEditCtrl());this->SetDlgItemText(IDC_WORD,pCtrl->GetSelText());pEdit->SetSel(0,-1);}
⑦在CDlgSearch类中CDlgSearch::OnSearch() 中编辑:
void CDlgSearch::OnSearch() {// TODO: Add your command handler code hereCString word = "b";//GetDlgItemText(IDC_WORD,word);CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd();CTestView *pView = (CTestView *)pFrame->GetActiveView();CRichEditCtrl *pCtrl = &(pView->GetRichEditCtrl());FINDTEXTEX ft;ft.chrg.cpMin = 0;ft.chrg.cpMax = -1;ft.lpstrText = (LPSTR) word.GetBuffer(1000);long n = pCtrl->FindText(FR_MATCHCASE|FR_WHOLEWORD,&ft);if (n != -1)pCtrl->SetSel(ft.chrg.cpMin,ft.chrg.cpMax);}好了,到这里大功告成了,运行一下,调试试试吧。
0 0
- MFC下文本查找功能的实现
- J2ME平台下文本阅读器的实现
- frame 下文本类比的脚本实现
- MFC查找一个文件夹下文件的数目
- linux 查找目录下文本内容字符串
- linux下文件的查找
- 实现文件的查找功能
- mfc-串口功能的实现
- 实现收藏本网站的功能
- 实现收藏本网站的功能
- 基于KMP算法的路径下文本查询程序的c++实现2.0版
- Linux下文本的高效处理
- Linux下文本的高效处理
- Linux下文本的高效处理
- Linux下文本的高效处理
- Linux下文本的vim文本替换
- Linux下文本的高效处理
- MFC 查找字符串函数的实现
- Spark:一个高效的分布式计算系统
- 【Qt编程】Qt版扫雷
- chapter05-Hike on a Graph(POJ 2415)
- db2存储过程在关联使用left join 时候出现的不是自己想要的结果可能性,以及解决办法
- 如何在centos6.4上安装git How To Install Git on a CentOS 6.4 VPS
- MFC下文本查找功能的实现
- WindowManager实现悬浮框并且使用VideoView播放视频
- CommEvent 属性的应用于技巧
- Visual Studio的调试技巧
- 十四
- 转[Android]APK打包过程详解(一)
- bootstrap 不得不说的less
- 十五
- EM算法