ボタンのチェックボックスをクリックするたびにチェックする機能があります
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