пришлось слепить из многих кодов,
причём каждый отдельно взятый код не работал или работал нетак, о-о-х!
для тех кому интересно вот код:
BOOL CUI_testDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_BgBitmap.LoadBitmap(IDC_NZ_WELCOME);
m_BgBrush.CreatePatternBrush(&m_BgBitmap);
}
HBRUSH CUI_testDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if((nCtlColor != CTLCOLOR_STATIC))
return hbr;
//возвращаем нашу brush только для static and checkbox controls !!
CPoint pt(0,0);
if(this != pWnd)
{
CRect rc;
pWnd->GetWindowRect(&rc);
ScreenToClient(&rc);
CRect rcBg;
GetDlgItem(IDC_NZ_WELCOME)->GetWindowRect(&rcBg);
ScreenToClient(&rcBg);
pt.x = -rc.left;
pt.y = -(rc.top - rcBg.top);//вычитаем title image
}
if((HBRUSH)m_BgBrush != NULL)
m_BgBrush.UnrealizeObject();
pDC->SetBrushOrg(pt);
pDC->SetBkMode(TRANSPARENT);
return (HBRUSH)m_BgBrush;
}
---
|