CWnd::OnCtlColor - DropDowns



  • 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 );
    
    			}
    		}
    	}
    }
    

    Danke für jede Hilfe 🙂
    *EDIT:
    Falsches Forum?! Sorry


Anmelden zum Antworten