📄 richeditex.cpp
字号:
// ResultCtrl.cpp : implementation file
//
#include "stdafx.h"
#include "RichEditEx.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CRichEditEx
CRichEditEx::CRichEditEx()
{
memset( &m_DefaultFormat, 0, sizeof(CHARFORMAT) );
m_DefaultFormat.cbSize = sizeof(CHARFORMAT);
m_DefaultFormat.dwMask |= CFM_COLOR; //启用前景色
m_DefaultFormat.dwEffects &= ~CFE_AUTOCOLOR; //关闭自动文字颜色
m_DefaultFormat.dwMask |= CFM_SIZE; //开启文字大小设置
m_DefaultFormat.yHeight =200; //设置高度
m_DefaultFormat.dwMask |= CFM_FACE; //开启字体名设置
m_DefaultFormat.dwMask |= CFM_BOLD; //开启粗体
strcpy( m_DefaultFormat.szFaceName, _T("宋体") ); //设置字体
memcpy( &m_TempFormat, &m_DefaultFormat, sizeof(CHARFORMAT) );
}
CRichEditEx::~CRichEditEx()
{
}
BEGIN_MESSAGE_MAP(CRichEditEx, CRichEditCtrl)
//{{AFX_MSG_MAP(CRichEditEx)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CRichEditEx message handlers
//添加文字
void CRichEditEx::AddString( LPCSTR lpszText )
{
SetSel( -1, -1 );
SetSelectionCharFormat( m_DefaultFormat );
ReplaceSel( lpszText );
}
//添加一行文字
void CRichEditEx::AddLine( LPCSTR lpszText )
{
AddString( lpszText );
AddString( "\r\n" );
}
//添加颜色文字
void CRichEditEx::AddColorString( LPCSTR lpszText, COLORREF color )
{
m_TempFormat.crTextColor = color;
SetSel( -1, -1 );
SetSelectionCharFormat( m_TempFormat );
ReplaceSel( lpszText );
}
//添加一行颜色文字
void CRichEditEx::AddColorLine( LPCSTR lpszText, COLORREF color )
{
AddColorString( lpszText, color );
AddColorString( "\r\n" );
}
//显示成功文字
void CRichEditEx::DoSuccess( LPCSTR lpszText, COLORREF color )
{
m_TempFormat.crTextColor = color;
m_TempFormat.dwEffects |= CFE_BOLD;
SetSel( -1, -1 );
SetSelectionCharFormat( m_TempFormat );
ReplaceSel( lpszText );
SetSel( -1, -1 );
ReplaceSel( "\r\n" );
m_TempFormat.dwEffects &= ~CFE_BOLD;
}
//显示失败文字
void CRichEditEx::DoFailure( LPCSTR lpszText, COLORREF color )
{
m_TempFormat.crTextColor = color;
m_TempFormat.dwEffects |= CFE_BOLD;
SetSel( -1, -1 );
SetSelectionCharFormat( m_TempFormat );
ReplaceSel( lpszText );
SetSel( -1, -1 );
ReplaceSel( "\r\n" );
m_TempFormat.dwEffects &= ~CFE_BOLD;
}
//设置默认文字颜色
void CRichEditEx::SetNormalTextColor( COLORREF color )
{
m_DefaultFormat.crTextColor = color;
}
//清空
void CRichEditEx::ClearAll()
{
SetSel( 0, -1 );
ReplaceSel( "" );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -