In einem Dialog zeiche ich in der OnPaint() ein Bild in den Hintergrund. Damit die Elemente im Vordergrund transparent erscheinen, gehe ich wie folgt vor:
1) Transparenten Brush erzeugen
2) Diesen in der OnCtlColor() zurückgeben, falls das entsprechnde Element gezeichnet werden soll
Ist kein Design aktiviert, funktioniert alles ohne Probleme. Bei aktiviertem Design wird nur statischer text transparent dargestellt, Radio-Buttons aben aber nen grauen Kasten um sich.
Meine Frage wär jetzt einfach: Warum? Ich verstehs net.
Danke für Hilfe und Tips.
Gabriel
1) Transparenten Brush erzeugen
2) Diesen in der OnCtlColor() zurückgeben, falls das entsprechnde Element gezeichnet werden soll
Code:
m_brHollow.CreateStockObject(HOLLOW_BRUSH);
HBRUSH CWizard_1::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID() == IDC_RADIO_NEU ||
pWnd->GetDlgCtrlID() == IDC_RADIO_ALT ||
pWnd->GetDlgCtrlID() == IDC_WIZ_1_STATIC_1 )
{
pDC->SetBkMode(TRANSPARENT);
return m_brHollow;
}
return hbr;
}
Meine Frage wär jetzt einfach: Warum? Ich verstehs net.
Danke für Hilfe und Tips.
Gabriel