手动添加一个事件处理

我也碰到“add/remove operation impossible...”的问题了,网上找了一些方法,比较简单的就是“删除ncb,suo文件,修改文件夹只读属性”,可是自己试了没有效果。实在没有耐性去解决一个微软搞出来的问题,于是就自己尝试创建一个事件处理,没想到异常顺利。

我是自己创建了一个CStatic的派生类CColorStatic,希望在这个派生类中处理WM_PAINT消息,参考Dlg类的消息处理机制:

1 在头文件的类定义中增加消息处理函数

afx_msg void OnPaint(); 

2 在头文件的类定义中增加消息处理声明

DECLARE_MESSAGE_MAP()

3 在源文件增加消息处理定义

BEGIN_MESSAGE_MAP(CColorStatic, CStatic)
 ON_WM_PAINT()
END_MESSAGE_MAP()

4 增加OnPaint()函数定义

void CColorStatic::OnPaint()
{
    ......
}

搞定收工!

你可能感兴趣的:(手动添加一个事件处理)