OnCtlColor , wie in MessageMap eintragen ??



  • Hi, ich möchte die Farbe eines CEdit ändern und habe dazu den Code aus der FAQ verwendet, jetzt meint er aber die Funktion sei in CbeispielDlg nicht deklariert. Ich denke ich muss die überschriebene OnCtlColor noch irgendwie in die MessageMap bringen, oder ??



  • Hol dir doch einfach die WM_CTLCOLOR aus dem ClassWizard, dann brauchst du nur noch den Code für das Färben eintragen !

    Gruß
    :: NoName ::



  • Ich arbeite mit dem VS.Net, da gibts das leider nicht im wizard. Oder ich bin blind..aber bisher habe ich es dort nicht gefunden.



  • Hmm, dann geh in deine C...Dlg.cpp rein und schreibe dann in die MessageMap :

    BEGIN_MESSAGE_MAP(C...Dlg, CDialog)
    	//{{AFX_MSG_MAP(C...Dlg)
    	ON_WM_SYSCOMMAND()
    	ON_WM_PAINT()
    	ON_WM_QUERYDRAGICON()
    	ON_WM_LBUTTONDOWN()
    
        [u]ON_WM_CTLCOLOR()[/u]
    
    	//}}AFX_MSG_MAP
    END_MESSAGE_MAP()
    

    Dann müsste es gehen ..

    Gruß
    :: NoName ::



  • mhh..ahja...

    Nun habe ich unter den Funktionsdef. der Klasse

    afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
    

    eingetragen.

    unter messagemap

    ON_WM_CTLCOLOR()
    

    eingetragen.

    Uns siehe da es tuts 🙂
    Toll...und Danke


Anmelden zum Antworten