WM_CTLCOLORSTATIC - static control 색상을 변경할 때 사용
WM_CTLCOLORBTN - button control 색상을 변경할 때 사용
WM_CTLCOLOREDIT - editbox control 색상을 변경할 때 사용
사용예..
HBRUSH hBrush_Control;
LRESULT WINAPI MsgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_CREATE:
hBrush_Contorl = CreateSolidBrush(RGB(255, 255, 255)); //흰색 브러시 생성.
...
return 0;
case WM_CTLCOLORSTATIC:
SetBKColor((HDC)wParam, RGB(255, 255, 255);
return (LRESULT)hBrush_Control;
}
}
대충 이런 식으로 사용한다.
lParam으로 특정 컨트롤의 색상만 변경도 가능하다.
if((HWND)lParam == hWnd_static01)
{
//컨트롤에 대한 색상처리...
}
버튼같은경우 안먹던데ㅡ_ㅡ. 그리고 처음 브러쉬를 생성할때 색상이랑 SetBkColor함수에 넣어줄 t색상이랑 맞춰주는게 나을꺼 같다. static control의 경우 글자 주위의 배경색만 바뀌는거 같다.