Click to See Complete Forum and Search --> : [RESOLVED] Combobox/static color


james2432
July 9th, 2009, 11:16 AM
I've colored my window :RGB(195,217,250)

//Register the window class
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hInstance=hInst;
wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground=CreateSolidBrush(RGB(195,217,250));//(HBRUSH)(COLOR_WINDOW);
wc.lpszMenuName=NULL;
wc.lpszClassName=g_szClassName;
wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);


And I have created a static and a checkbox in my WM_CREATE but they come out that there is a grey rectangle arround the text I was wondering how to color it the same as the solidbrush of the window, I've tried doing SetBkColor(GetDc(..),[color]) but it doesn't work. Please help.

//create seach label
hwndlblSearch = CreateWindowEx(0,TEXT("static"),TEXT("Table/View name"),SS_LEFT|WS_CHILD|WS_VISIBLE,33,10,116,17,hwnd,(HMENU)lblSearch,NULL,NULL);

//Checkbox Table
hwndcbTable = CreateWindowEx(0,TEXT("BUTTON"),TEXT("Table"),BS_AUTOCHECKBOX|WS_VISIBLE|WS_CHILD,265,32,100,25,hwnd,(HMENU)cbTable,NULL,NULL);

Marc G
July 10th, 2009, 09:19 AM
One way is to handle WM_CTLCOLORSTATIC and in the handler do something like:

case WM_CTLCOLORSTATIC:
SetBkMode((HDC)wParam, TRANSPARENT);
return GetStockObject(NULL_BRUSH);

james2432
July 10th, 2009, 09:44 PM
Yeah I forgot to change this to solved

WM_CTLCOLORSTATIC works for checkbox(text), groupbox,static text(label) instead of returning a (NULL_BRUSH) i returned a HBRUSH of the same color

I also did a SetBkMode to transparent

thanks