본문 바로가기

Programming/MFC

Control의 배경색 및 글자색 변경

WM_CTLCOLOR 메시지 추가

 

HBRUSH CColorTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
 
 HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
/*
// 배경색
 pDC->SetBkMode(TRANSPARENT); // 글자색과 배경색이 일치하게 만듬
 hbr = m_brush2;     // 바탕색
*/

 pDC->SetBkMode(TRANSPARENT);


// 글자색
 pDC->SetTextColor(RGB(150,100,50));

// 리스트 컨트롤
 m_CtrlList.SetBkColor(RGB(0,0,0));   // 바탕색
 m_CtrlList.SetTextBkColor(RGB(0,0,0));  // 글자 바탕색
 m_CtrlList.SetTextColor(RGB(255,255,255)); // 글자색
 
// 에디트 박스 바탕색
 if(nCtlColor==CTLCOLOR_EDIT)
 {
  return CreateSolidBrush(RGB(0,100,100));
 }

// 리스트 박스 바탕색
 if(nCtlColor==CTLCOLOR_LISTBOX)
 {
  return CreateSolidBrush(RGB(0,0,255));
 }

// 다이얼로그 박스 바탕색
 if(nCtlColor==CTLCOLOR_DLG)
 {
  return CreateSolidBrush(RGB(0,255,0));
 }

// 정적 스테틱
 if(nCtlColor==CTLCOLOR_STATIC)
 {
  return CreateSolidBrush(RGB(255,0,0));
 }

// 스크롤바
 if(nCtlColor==CTLCOLOR_SCROLLBAR)
 {
  return CreateSolidBrush(RGB(0,255,255));
 }
 
// 메시지 박스
 if(nCtlColor==CTLCOLOR_MSGBOX)
 {
  return CreateSolidBrush(RGB(0,255,255));
 }

// 버튼
 if(nCtlColor==CTLCOLOR_BTN)
 {
  return CreateSolidBrush(RGB(0,255,255));
 }

 return hbr;
// return (HBRUSH)CreateSolidBrush(RGB(255,255,0));
}

'Programming > MFC' 카테고리의 다른 글

분할 윈도우를 이용하여 뷰 전환하기  (0) 2006.05.05
CSplitterWnd::CreateView  (0) 2006.05.04
윈도우 화면 크기 고정  (0) 2006.04.18
Code jock 링크 라이브러리 걸기  (0) 2006.04.18
VC++ 확장자 의미 ?  (0) 2006.04.18