2014년 10월 26일 일요일

스태틱 컨트롤 배경을 투명하게.

알립니다. 이 글은 '데브피아 강좌&팁' 게시판에 올라온 글로, 본 글의 저작권은 글의 작성자인 권진호님에게 있습니다.


위의 샘플이 컨트롤의 배경을 투명하게 만든것인데..

우선 글자가 써진 컨트롤의 아이디를  IDC_STATIC_1 이라고 변경한 후..
코드를 다음과 같이 변경하면 끝이다.

HBRUSH CSssDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
   
    switch(nCtlColor)
    {
    case CTLCOLOR_STATIC:
        {
           if(pWnd->GetDlgCtrlID() == IDC_STATIC_1)
            {
                pDC->SetTextColor(RGB(255, 0, 0));
                pDC->SetBkMode(TRANSPARENT);
                return (HBRUSH)GetStockObject(NULL_BRUSH);;
            }
        }
    }
    // TODO: Return a different brush if the default is not desired
    return hbr;
   
}


이상없이 매우 잘됩니다. 매우 좋네요^^;

댓글 없음: