Hallo alle zusammen,
ich habe folgende Situation.
Ich habe einen Dialog mit vielen Checkboxen. es ist sehr schwer zu sehen welches Element garde den Focus hat. Also dachte ich mir ich ändere einfach den Hintergrund des elements welches gerade den Focus hat.
Ich bin wie folgt vor gegangen:
Es klappt aber nur mit einem element. Es wird nur das Element farblich geändert welches mit Invalidate() "geändert" wird. Wenn ich nun die beiden Zeilen auskommentiere geht beides nicht. Mit nur einem Element klappt das super.
Wie kann ich es nun schaffen das beide Elemente die Farbe ändern wenn diese den Focus haben.
Ich hoffe es ist verständlich.
Gruß Rudi
ich habe folgende Situation.
Ich habe einen Dialog mit vielen Checkboxen. es ist sehr schwer zu sehen welches Element garde den Focus hat. Also dachte ich mir ich ändere einfach den Hintergrund des elements welches gerade den Focus hat.
Ich bin wie folgt vor gegangen:
Code:
HBRUSH ATHC_Edit_Grundeinstellung::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogBase::OnCtlColor(pDC, pWnd, nCtlColor);
CWnd *FocusWnd;
CWnd *ElementWnd_1;
COLORREF Hintergrund;
FocusWnd = GetFocus();
Hintergrund = RGB(255,255,255);
switch( pWnd->GetDlgCtrlID() )
{
case IDC_ATHC_CHB_1_1:
{
ElementWnd_1 = GetDlgItem(IDC_ATHC_CHB_1_1);
if(FocusWnd == ElementWnd_1)
Hintergrund = RGB(255,0,0);
//Hintergrund = m_HatFocusHintergrund;
else
Hintergrund = RGB(190,190,190);
//Hintergrund = m_KeinFocusHintergrund;
return(CreateSolidBrush(Hintergrund));
}
case IDC_ATHC_CHB_1_2:
{
ElementWnd_1 = GetDlgItem(IDC_ATHC_CHB_1_2);
if(FocusWnd == ElementWnd_1)
Hintergrund = RGB(255,0,0);
else
Hintergrund = RGB(190,190,190);
return(CreateSolidBrush(Hintergrund));
}
}//switch...
m_cCHB_1_1.Invalidate();
//m_cCHB_1_2.Invalidate();
return hbr;
}
Es klappt aber nur mit einem element. Es wird nur das Element farblich geändert welches mit Invalidate() "geändert" wird. Wenn ich nun die beiden Zeilen auskommentiere geht beides nicht. Mit nur einem Element klappt das super.
Wie kann ich es nun schaffen das beide Elemente die Farbe ändern wenn diese den Focus haben.
Ich hoffe es ist verständlich.
Gruß Rudi