资源简介
用C++MFC实现的文本编辑器,有打开、新建、保存以及另存为功能,有复制剪切粘贴删除全选以及撤销功能,查找、查找下一个以及替换功能。界面仿Windows记事本。
代码片段和文件信息
// CdialogFind.cpp: 实现文件
//
#include “stdafx.h“
#include “TextEditor.h“
#include “CdialogFind.h“
#include “afxdialogex.h“
#include “Resource.h“
#include
// CdialogFind 对话框
IMPLEMENT_DYNAMIC(CdialogFind CDialogEx)
CdialogFind *CdialogFind::ptr_Find = NULL;
CdialogFind::CdialogFind(CWnd* pParent /*=nullptr*/)
: CDialogEx(IDD_FINDDIALOG pParent)
{
ptr_Find=this;
}
CdialogFind::~CdialogFind()
{
}
void CdialogFind::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CdialogFind CDialogEx)
ON_BN_CLICKED(IDC_BUTTONFIND &CdialogFind::OnBnClickedButtonfind)
END_MESSAGE_MAP()
// CdialogFind 消息处理程序
const int maxNum = 1005;
//Sunday
int shift[maxNum];
int Sunday(const CString& T const CString& P);
void CdialogFind::OnBnClickedButtonfind()
{
CString mainText;
CString aimText;
CTextEditorView *pView = CTextEditorView::ptr_View;
pView->GetDlgItem(IDC_EDIT)->GetWindowText(mainText);
GetDlgItem(IDC_EDIT1)->GetWindowText(aimText);
int cur = mainText.Find(aimText0); //C++类实现(CString的find方法)
//int cur = Sunday(mainText aimText); //自定义Sunday算法匹配字符串 英文可以查找 中文不行
int aimLen = aimText.GetLength();
pView->m_wndEdit.SetSel(cur cur+aimLen);
//int nStart nEnd;
//pView->m_wndEdit.GetSel(nStart nEnd);
//if (nStart == nEnd) //判断是否有内容被选中
if(cur==-1)
MessageBox(_T(“没有该内容“));
CdialogFind::OnCancel();
}
int Sunday(const CString& T const CString& P) {
int n = T.GetLength();
int m = P.GetLength();
// 默认值,移动m+1位
for (int i = 0; i < maxNum; i++) {
shift[i] = m + 1;
}
// 模式串P中每个字母出现的最后的下标
// 所对应的主串参与匹配的最末位字符的下一位字符移动到该位,所需要的移动位数
for (int i = 0; i < m; i++) {
shift[P[i]] = m - i;
}
// 模式串开始位置在主串的哪里
int s = 0;
// 模式串已经匹配到的位置
int j;
while (s <= n - m) {
j = 0;
while (T[s + j] == P[j]) {
j++;
// 匹配成功
if (j >= m) {
return s;
}
}
// 找到主串中当前跟模式串匹配的最末字符的下一个字符
// 在模式串中出现最后的位置
// 所需要从(模式串末尾+1)移动到该位置的步数
s += shift[T[s + m]];
}
return -1;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-01-09 15:11 MFC记事本文本编辑器实现\
目录 0 2019-01-09 15:11 MFC记事本文本编辑器实现\TextEditor\
目录 0 2019-01-09 15:11 MFC记事本文本编辑器实现\TextEditor\.vs\
目录 0 2019-01-09 15:11 MFC记事本文本编辑器实现\TextEditor\.vs\TextEditor\
目录 0 2019-01-09 15:11 MFC记事本文本编辑器实现\TextEditor\.vs\TextEditor\v15\
文件 38400 2019-01-09 15:08 MFC记事本文本编辑器实现\TextEditor\.vs\TextEditor\v15\.suo
文件 77987840 2019-01-09 15:08 MFC记事本文本编辑器实现\TextEditor\.vs\TextEditor\v15\Browse.VC.db
目录 0 2019-01-09 15:11 MFC记事本文本编辑器实现\TextEditor\.vs\TextEditor\v15\ipch\
文件 121307136 2018-12-02 17:32 MFC记事本文本编辑器实现\TextEditor\.vs\TextEditor\v15\ipch\7e52fd93b0879f32.ipch
目录 0 2019-01-09 15:12 MFC记事本文本编辑器实现\TextEditor\.vs\TextEditor\v15\ipch\AutoPCH\
文件 121307136 2019-01-09 13:06 MFC记事本文本编辑器实现\TextEditor\.vs\TextEditor\v15\ipch\ee1c4f9eb8485ff3.ipch
目录 0 2019-01-09 15:11 MFC记事本文本编辑器实现\TextEditor\Debug\
文件 275968 2019-01-09 15:08 MFC记事本文本编辑器实现\TextEditor\Debug\TextEditor.exe
文件 2080888 2019-01-09 15:08 MFC记事本文本编辑器实现\TextEditor\Debug\TextEditor.ilk
文件 2756608 2019-01-09 15:08 MFC记事本文本编辑器实现\TextEditor\Debug\TextEditor.pdb
目录 0 2019-01-09 15:11 MFC记事本文本编辑器实现\TextEditor\TextEditor\
目录 0 2019-01-09 15:11 MFC记事本文本编辑器实现\TextEditor\TextEditor\.vs\
目录 0 2019-01-09 15:11 MFC记事本文本编辑器实现\TextEditor\TextEditor\.vs\TextEditor\
目录 0 2019-01-09 15:11 MFC记事本文本编辑器实现\TextEditor\TextEditor\.vs\TextEditor\v15\
文件 13824 2018-12-27 00:08 MFC记事本文本编辑器实现\TextEditor\TextEditor\.vs\TextEditor\v15\.suo
文件 78 2018-12-27 00:08 MFC记事本文本编辑器实现\TextEditor\TextEditor\.vs\VSWorkspaceState.json
文件 77824 2018-12-27 00:08 MFC记事本文本编辑器实现\TextEditor\TextEditor\.vs\slnx.sqlite
文件 2750 2019-01-05 18:14 MFC记事本文本编辑器实现\TextEditor\TextEditor\CDoalogReplace.cpp
文件 1128 2019-01-05 18:14 MFC记事本文本编辑器实现\TextEditor\TextEditor\CDoalogReplace.h
文件 4184 2019-01-07 23:51 MFC记事本文本编辑器实现\TextEditor\TextEditor\CdialogFind.cpp
文件 1142 2019-01-02 01:12 MFC记事本文本编辑器实现\TextEditor\TextEditor\CdialogFind.h
目录 0 2019-01-09 15:11 MFC记事本文本编辑器实现\TextEditor\TextEditor\Debug\
文件 44145 2019-01-09 15:08 MFC记事本文本编辑器实现\TextEditor\TextEditor\Debug\CDoalogReplace.obj
文件 44544 2019-01-09 15:08 MFC记事本文本编辑器实现\TextEditor\TextEditor\Debug\CdialogFind.obj
文件 26317 2019-01-05 18:04 MFC记事本文本编辑器实现\TextEditor\TextEditor\Debug\Data.obj
文件 68166 2019-01-09 15:08 MFC记事本文本编辑器实现\TextEditor\TextEditor\Debug\MainFrm.obj
............此处省略46个文件信息
相关资源
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- 数据结构 图的遍历源代码
- 数据结构实验源代码集
- 实验报告:数据结构长整数四则运算
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- MFC视频播放器源码(支持avi/wma/mp3等格
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
- VC++基于OpenGL模拟的一个3维空间模型
- mfc绘图大全(画直线、矩形、椭圆)
- c++ 虚拟摄像头
- MFC控件重绘
- hook,捕获所有案件,查找所有窗口,
- C语言课设计算器
- (学习)VS2010之MFC入门到精通教程
- 数据结构教程李春葆第五版书中例题
- c++ 简易贪吃蛇源码
- 高精度加法(c++代码)
- C++调用百度地图案例
- 北京化工大学计算方法(C/C++)讲义
- 基于VC++的SolidWorks二次开发SolidWorks
- c++ 模拟鼠标按键
- OFD编辑器
- Beginning C++17 From Novice to Professional
- C++ STL实现
- opencv手部轮廓识别以及轨迹识别
评论
共有 条评论