怎么会出现按钮呢
要接受鼠标和键盘接受,按钮必须是可见和可用的。
void CMyButton::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CButton::OnPaint()
//CRect rect;
//GetClientRect(&rect);
//CBrush brush(RGB(255,0,0));
//dc.FillRect(&rect,&brush);
}
如此覆盖 onpaint,自然是看不到按钮的,非常自然合理。
戏剧性的事情发生了
在按钮所在区域后,居然弹出一个消息框来。
void CfgfDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
MessageBox("xx",NULL,MB_YESNO);
}
弹出后MessageBox,按钮再现。什么原因?
CPaintDC的工作仅仅是从消息队列中除去wm_paint和 擦出背景的作用. 并不会绘制按钮
怎么会按钮在现呢
可见是指WS_VISIBLE,与没画出来而看不见是有区别的
[解决办法]