资源简介

用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个文件信息

评论

共有 条评论