ColorDialog

 


    Dieses Programm ist ein kleines MFC-Programm das zeigt wie man farbige Dialogelemente realisieren kann.
    Das geschieht in der Funktion OnCtlColor() in der Datei "./ColorDialog/ColorDialogDlg.cpp". Jedes Dialogelement sendet vor dem Zeichen eine WM_CTLCOLOR??? Nachricht an sein Elternfenster. Das Elternfenster kann dann die Textfarben und Hindergrund-Brushes bestimmen. Diese WM_CTLCOLOR??? Nachricht wird bei MFC Programmen in der OnCtlColor() Funktion ausgewertet. 

    Bei Tasten funktioniert dieses Verfahren nicht. Das Ändern der Button-Farbe wird erreicht in dem die Taste von Hand in einer eigenen Funktion gezeichnet wird. Dabei wird eine neue Fensterfunktion (ButtonProc) für WM_PAINT mittels Sub-Classing bei der Taste installiert:
     

    ...
    
    pOldProc = (WNDPROC)GetWindowLong(GetDlgItem(IDOK)->m_hWnd,GWL_WNDPROC);
                        SetWindowLong(GetDlgItem(IDOK)->m_hWnd,GWL_WNDPROC,(LONG)ButtonProc);
    
    ...
    
    
    


      Download C++ Sourcecode

    Installations Hinweise:


      Extrahiere alle Zip-Dateien in deinem Verzeichnis MyProjects.




    Anton Zechner