📄 richeditctrlex.h
字号:
#if !defined(AFX_RICHEDITCTRLEX_H__EB13DBE8_014D_478C_BDC2_14C9DDE95184__INCLUDED_)
#define AFX_RICHEDITCTRLEX_H__EB13DBE8_014D_478C_BDC2_14C9DDE95184__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// RichEditCtrlEx.h : header file
//
#define WM_UPDATE_STATUSBAR_INFO WM_USER + 222 //更新状态栏[行列显示]
#define ID_RICHEDITEX_BASEMENUID 0x1212
#define ID_RICHEDITEX_READONLY ID_RICHEDITEX_BASEMENUID + 1
#define ID_RICHEDITEX_FONTSET ID_RICHEDITEX_BASEMENUID + 2
#define ID_RICHEDITEX_FINDSTRING ID_RICHEDITEX_BASEMENUID + 3
#define ID_RICHEDITEX_REPLSTRING ID_RICHEDITEX_BASEMENUID + 4
#define ID_RICHEDITEX_SAVEFILE ID_RICHEDITEX_BASEMENUID + 5
#define SNDUPDATEMSG() CMainFrame* lpFrame = (CMainFrame*)::AfxGetMainWnd();\
if(lpFrame->m_hWnd)\
lpFrame->SendMessage(WM_UPDATE_STATUSBAR_INFO, 0, 0)
//#define ID_RICHEDITEX_READONLY ID_RICHEDITEX_BASEMENUID + 1
/////////////////////////////////////////////////////////////////////////////
// CRichEditCtrlEx window
class CRichEditCtrlEx : public CRichEditCtrl
{
// Construction
public:
CRichEditCtrlEx();
// Attributes
protected:
CString strFilename; //文件名称
CFileStatus status; //文件属性
CMenu m_wndPopMenu; //右键菜单
//当前要匹配字符的开始范围索引号[向上/向下搜索]
long m_nSearchCharPos;
// Operations
public:
//从文件加载
void LoadFromFile(CString lpszFilename);
//保存内容到文件
void SaveToFile(CString lpszFilename);
//选择文件夹路径
CString SelectDirectory(/*LPTSTR lpszCaption*/);
//追加一行内容
void CRichEditCtrlEx::AddText(LPCTSTR szTextIn);
//得到当前光标所在行和列(发消息)
int GetCursorRow();
int GetCursorCol();
//清空所有内容
void Clear();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CRichEditCtrlEx)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CRichEditCtrlEx();
// Generated message map functions
protected:
//{{AFX_MSG(CRichEditCtrlEx)
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
//}}AFX_MSG
afx_msg LRESULT OnFindReplace(WPARAM wParam, LPARAM lParam);
void OnMenuCommProc(UINT nID);
DECLARE_MESSAGE_MAP()
private:
static DWORD CALLBACK MyStreamInCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb);
static DWORD CALLBACK MyStreamOutCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb);
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_RICHEDITCTRLEX_H__EB13DBE8_014D_478C_BDC2_14C9DDE95184__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -