有时候对话框的底色和滑动条的底色颜色不一致,导致显示效果不理想,如下图:
。为了解决这个问题,可以重载对话框类的OnCtlColor函数,在其中添加:
if (nCtlColor == CTLCOLOR_STATIC || nCtlColor == CTLCOLOR_DLG)
{ return m_brush; }
这里的CSliderCtrl属于STATIC一类,挺奇怪的... 这个m_brush是自己定义的画刷,头文件中声明CBrush m_brush,源文件中定义m_brush.CreateSolidBrush(RGB(255, 255, 255)),也可以是别的颜色。 最后显示出来的效果为:
转载请注明原文地址: https://ju.6miu.com/read-1297991.html