2012-03-01 60 views
0

在Visual Studio 2010中,我在资源设计器中创建了一个复选框(IDC_CHECK1)。但不幸的是,它看起来像是在黑色背景上:enter image description hereC++复选框颜色

我无法在属性菜单中找到任何选项来更改背景颜色或至少使其变为透明。在资源设计器中有没有办法做到这一点?

回答

0

尝试处理DlgProc中的WM_CTLCOLORBTN消息。

+0

解决方案是这样的: \t \t情况WM_CTLCOLORSTATIC:{ 静态HBRUSH hBrushColor;如果(!hBrushColor){hBrushColor = CreateSolidBrush(RGB(0,0,0)); SetBkColor((HDC)wParam,RGB(0,0,0)); SetBkColor((HDC) } return(LRESULT)hBrushColor; } 谢谢! :D – Gaboros 2012-03-01 17:06:32

+0

注意:如果您想以这种方式使用颜色,请确保非元素都使用桌面主题中的颜色。如果不是可能无法阅读的东西。 – user877329 2012-03-02 08:48:35

+0

另外:'如果应用程序返回它创建的画笔(例如,通过使用CreateSolidBrush或CreateBrushIndirect函数),应用程序必须释放画笔。如果应用程序返回系统画笔(例如,由GetStockObject或GetSysColorBrush函数检索到的画笔),则应用程序不需要释放画笔。“http://msdn.microsoft.com/zh-cn/library/窗户/桌面/ bb787524%28V = vs.85%29.aspx – Ben 2012-11-28 02:10:04