读书人

给对话框增添背景图片后为什么对话框

发布时间: 2013-09-28 10:01:20 作者: rapoo

给对话框添加背景图片后,为什么对话框上的Edit控件背景会变成黑色?
给对话框添加背景图片后,为什么对话框上的Edit控件背景会变成黑色?

我按照网上的贴图双缓冲流程,在对话框的OnPait函数里面给对话框贴了一张背景图片,
然后在对话框的OnCtlColor里面设置当nCtrlColor == CTLCOLOR_STATIC的时候,pDC->SetBkMode(TRANSPARENT);return (HBURSH)::GetStockObject(NULL_BRUSH);
这样静态显示正常,没有灰色背景,而是显示在对话框的背景图片上;
但是,对话框上面的Edit控件,在刚显示出来的时候还是正常的白色背景,当把鼠标放上去的时候,就变成了一个黑色的框框了,里面的内容也看不清,请问,这该怎么解决?什么原因导致的?
[解决办法]

引用:
静态static控件显示正常。


主窗口 去掉W_CLIPCHILDREN试下。

应该是你加了这个属性,导致子控件的背景无人绘制导致的。
[解决办法]
edit 在 ‘readonly’时 发的是
CTLCOLOR_STATIC
而不是
CTLCOLOR_EDIT

读书人网 >VC/MFC

热点推荐