⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 richeditctrlex.h

📁 Visual C++编写的工程解析器源代码
💻 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 + -