check box是多选框,
radio button是单选框
通过这两个控件对颜色以及形状做一个简单的控制
对颜色的绘制可以通过响应其绘制的消息,也可以通过响应擦除的消息来实现
WM_ERASEBKGND为擦除背景的消息..这个消息会在每次窗口进行重绘之前响应
如果我们对多选框或者单选框的控件添加了变量,可以通过
m_chk_red.GetCheck()来获取该控件是否被选中,如果被选中,,返回true;
还有一种方式是通过该控件的ID来进行获取
static_cast< CButton*> (GetDlgItem(IDC_RADIO_RECT))->GetCheck()
在进行颜色的绘制时,要先将设置当前的画刷,该函数会返回之前使用的旧的画刷,,在我们绘制完成之后要将画刷设置为之前使用的旧的画刷
CBrush brush;
brush.CreateSolidBrush(crColor);
CBrush *pOldBrush = pDC->SelectObject(&brush);
...
pDC->SelectObject(pOldBrush);