2012-03-01 73 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