Virtuelle Message Handler - darf ich das "so" machen?



  • Hallo zusammen,

    Meine Anwendung ist Dlg-Based mit Hauptdialog CMyDlg. Je nach Anwendungszweck muss ich den Dlg anders gestallten und compillieren. Deshalb dachte ich, einfach neuen Dlg ableiten 'class CNewDlg : public CMyDlg' und dem compiler per #ifdef's sagen welcher benutzt werden soll.

    Das problem ist, fast alle (OnInitDlg ausgenommen) Message-Handler in CMyDlg sind anscheinend nicht virtuell (weiss nicht was afx_msg alles macht). D.h. einfach in CNewDlg überschreiben nützt nichts.

    Jetzt möchte ich eingentlich nur wissen, ob es Probleme macht, wenn ich einfach virtual vor die Message Handler schreibe:

    //{{AFX_MSG(CSoundStreamDlg)
    virtual BOOL OnInitDialog();
    afx_msg ...
    afx_msg virtual HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
    //}}AFX_MSG
    

    Der Klassen Assistent hat die ja eben nicht virtuell festgelegt, ob das einen Grund hat?

    Gruss mathi


Anmelden zum Antworten