버튼에 색을 넣어 볼려고 합니다.... ^^ 위의 버튼을 클릭하고.. 마우스 오른쪽 클릭... 그리고 Properties를 클릭...위의 창이 하나 생길겁니다...
여기서 위의 그림과 같이 선택을 해주시고... 나온 후
컨트롤+W를 눌러서 아래의 그림처럼 선택을 합니다... 이와 같이 선택을 하게 되면 다음과 같은 함수가 하나 생길것입니다.
void xxxxxxxxxxxxxxxxxx::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)
{
}
이 함수에 색상을 넣어줄 버튼을 지정해 주면 됩니다.? 어떻게?
아래의 소스를 위의 함수안에 에 넣고 버튼의 IDC를 넣어 주시면 끝...
// if(nIDCtl == 이 부분에 버튼의 IDC를 입력 합니다. IDC_BUTTON )
if(nIDCtl == IDC_BUTTON )
{
CDC dc;
RECT rect;
dc.Attach(lpDrawItemStruct->hDC); //Get the Button DC to CDC
rect = lpDrawItemStruct->rcItem ; //Store the Button rect to local rect
dc.Draw3dRect(&rect, RGB(200,200,200), RGB(20,20,20));
dc.FillSolidRect(&rect, RGB(100,150,100));
//Show the Effect of Click Event
UINT state = lpDrawItemStruct->itemState;
if((state & ODS_SELECTED))
{
dc.DrawEdge(&rect, EDGE_SUNKEN, BF_RECT);
}
else
{
dc.DrawEdge(&rect, EDGE_RAISED, BF_RECT);
}
//Draw Color Text
dc.SetBkColor(RGB(100,150,100)); //Setting the Text Background Color
dc.SetTextColor(RGB(255,100,0)); //Setting the Text Color
TCHAR buffer[MAX_PATH];
ZeroMemory(buffer, MAX_PATH);
::GetWindowText(lpDrawItemStruct->hwndItem, buffer, MAX_PATH);
dc.DrawText(buffer, &rect, DT_CENTER|DT_VCENTER |DT_SINGLELINE);
dc.Detach(); //Detach the Button DC
}
참고 소스로는 http://www.codeguru.com에서 퍼온것을 올려 봅니다...
아래 하트를 꾸욱~~~~~! ^^
'기타_모아 > 자료실' 카테고리의 다른 글
CAN 및 LIN 통신을 이용한 차량용 네트워크 소개 (0) | 2013.05.03 |
---|---|
뽀로로 마샤 라푼젤 타요 구름빵 색칠공부 (0) | 2013.04.05 |
SMD 부품 사이즈 단위 (0) | 2013.03.20 |
탁피디의 여행수다 3회 (0) | 2013.03.13 |
지정한 파일 이름이 올바르지 않거나 너무 깁니다 (0) | 2013.03.13 |
댓글