1、创建一个CMyEdit类继承CEdit类
如何创建类请参考:
2、在CMyEdit类中添加反射消息:“=WM_CTLCOLOR”
这里注意反射消失前的“=”,切不可错添加为“WM_CTLCOLOR”,“=WM_CTLCOLOR”表示反射消息,响应函数是CtlColor,控件自己发送自己接收。“WM_CTLCOLOR”是接收子控件发给自己的消息,响应函数是OnCtlColor,由于我们使用CMyEdit类自行绘制,所以我们选取反射式消息。
如何在函数中添加消息请参考:
3、具体实现代码
.h文件
#pragma once
#include "afxwin.h"
class CMyEdit :
public CEdit
{
public:
CColorEdit();
~CColorEdit();
void SetForeColor(COLORREF color);
void SetBkColor(COLORREF color);
void SetTextFont(int FontHight, LPCTSTR FontName);
private:
COLORREF m_ForeColor; // text color
COLORREF m_BackColor; // background color
CBrush m_BkBrush;