Frage zu DropDowns - OnCtlColor
-
Ich habe Eingabemasken bei denen geprüft wird ob die Werte gültig sind. Wenn ungültige Werte vorliegen ist ein speichern nicht möglich, dann soll das entsprechende Feld rot markiert werden.
Funktioniert soweit, außer bei den DropDowns. Weiß jemand eine Lösung?void _OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor, HBRUSH *hbr, CMapWordToPtr *aCtrl) { if( nCtlColor == CTLCOLOR_EDIT || nCtlColor == CTLCOLOR_LISTBOX || nCtlColor == CTLCOLOR_MSGBOX ) { int nCtrlID = pWnd->GetDlgCtrlID(); CFSpecToCtrl *FSpecToCtrl; if( aCtrl->Lookup( nCtrlID, ( void *&)FSpecToCtrl )) { if( !FSpecToCtrl->m_lValid ) { pDC->SetBkColor( 0x000000FF ); *hbr = HBRUSH( g_pInterface->BrushRed ); } } } }
-
Hat keiner ne Ahnung

-
Du solltest eher in ein GUI spezifisches Forum gehen. Hier gehts um Standard C++. Und wenn du kein grundlegend Programmiertechnisches Problem hast, bist du hier falsch..
-
Scheint MFC zu sein...
schau mal hier nach: http://msdn.microsoft.com/de-de/library/0wwk06hc(VS.80).aspx
dort gibt es einen Abschnitt
OnCtlColor will not be called for the list box of a drop-down combo box ...
sowie einen Workaround (Ableitung einer eigenen ComboBox).
-
Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ in das Forum MFC (Visual C++) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.