我有一个功能可以检查我单击的按钮复选框
void CRisanjeDlg::OnBnClickedCheck1()
{
Invalidate(1);
}
在 OnPaint 方法中,我有以下代码:
if(m_CheckBox1.GetState() ==1 )
{
CBrush brush;
CRect rect;
GetClientRect(rect);
brush.CreateSolidBrush(RGB(255,200,255));
rect.DeflateRect(0,0,500,0);
dc.Rectangle(rect);
dc.FillRect(rect, &brush);
}
我有几个其他事件触发 OnPaint 方法,如果选中该框,它会绘制它必须绘制的内容。
当我单击复选框时它不起作用。事件被识别,只是 Invalidate(1) 不起作用......
有什么建议么?
编辑:当我取消选中该框时,该功能工作正常。看来问题应该出在
if(m_CheckBox1.GetState() ==1 )
部分。
EDIT2:没错,问题出在提到的 if 语句中。这解决了它,不知道为什么。将不胜感激进一步的解释。
m_CheckBox1.GetCheck() ==1