2008. 12. 16. 11:41
Appication/VC++_Control
스태틱 컨트롤중에 Text 기능을 이용하여 배경을 투명하게 만드는 것은 에디트 컨트롤에 비하여
훨씬 쉽다.
위의 샘플이 컨트롤의 배경을 투명하게 만든것인데..
우선 글자가 써진 컨트롤의 아이디를 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;
}
Posted by 까막백(홈페이지 이동)
훨씬 쉽다.
위의 샘플이 컨트롤의 배경을 투명하게 만든것인데..
우선 글자가 써진 컨트롤의 아이디를 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;
}
Posted by 까막백(홈페이지 이동)