'배경색'에 해당되는 글 1건

  1. 2008.05.09 [winapi] - 윈도우 컨트롤의 색상 변경

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의 경우 글자 주위의 배경색만 바뀌는거 같다.

Posted by hazeyun
,