还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

解决:mfc checkbox自绘控件 点击事件无效

来源:清泛原创     2017-01-06 11:03:02    人气:     我有话说( 0 人参与)

自绘控件中的代码:ON_CONTROL_REFLECT(BN_CLICKED, OnClicked)void CMyCheckbox::OnClicked() { m_bCheck = !m_bCheck; ...

自绘控件中的代码:
ON_CONTROL_REFLECT(BN_CLICKED, OnClicked)

void CMyCheckbox::OnClicked() 
{
    m_bCheck = !m_bCheck;
    Invalidate();
}
这样可以保证点击后,对控件自绘勾选进行处理,但是使用控件的窗口无法响应BN_CLICKED事件了,即点击事件无效

解决方法:
ON_CONTROL_REFLECT_EX(BN_CLICKED, OnClicked)

BOOL CMyCheckbox::OnClicked() 
{
    m_bCheck = !m_bCheck;

    Invalidate();

    return FALSE; //这样外部窗口可以继续处理其BN_CLICKED事件,返回TRUE不处理
}
使用 ON_CONTROL_REFLECT_EX 代替 ON_CONTROL_REFLECT,并且函数返回值为FALSE即可。

mfc checkbox 自绘 事件无效

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: