Beginnerfragen zu den MFC



  • Hallo,

    ich muss einfach mal ein paar Anfängerfragen stellen und hoffe
    man nimmt es mir nicht krumm, dass ich dies so bisher in noch keinem
    Buch habe lesen/finden können (wenn ihr gute Bücher zu den Fragestellungen
    kennt, dann bitte Info 😉

    Wann und wozu werden diese Standardfunktionen (insbesondere in
    welcher Reihenfolge) aufgerufen?

    OnInitDialog()              //nur beim Start noch vor dem Dialog?!
    DoDataExchange()           //immer wann? mehrfach, oder?
    OnPaint()                  //immer wenn das Fenster den Fokus bekommt?
    OnSysCommand()             //??
    InitInstance()             //??
    


  • Trackix schrieb:

    OnInitDialog()              //Immer bevor ein Dialog das erste Mal angezeigt wird
    DoDataExchange()           //Immer wenn UpdateData aufgeruden wird
    OnPaint()                  //immer wenn das Fenster neu angezeigt werden muss
    OnSysCommand()             //Wenn ein Systemkommando ausgeführt werden muss (z.B. das Menü was kommt, wenn du auf das Icon der Titelzeile klickst)
    InitInstance()             //Einmal ganz zu Anfang wenn das Programm startet. Das Gegenstück heißt ExitInstance.
    

  • Mod

    Zusätzlich:
    Per UpdateData ruft wie schon geschrieben DoDataExchange auf.

    Per Default wird UpdateDate in CDialog::OnInitDialog und CDialog::OnOK aufgerufen.



  • Trackix schrieb:

    Wann und wozu werden diese Standardfunktionen (insbesondere in
    welcher Reihenfolge) aufgerufen?

    Die Reihenfolge kann man übrigens nicht wirklich sagen.

    Falls du (wie ich) aus der prozeduralen Programmierung kommst, wird das für dich alles erstmal sehr suspekt sein.
    Windows arbeitet nachrichtenbasiert und nicht "fortlaufend" wie z.B. ein C Programm, wo man von der main an weiß wo es weitergeht.

    Das beste Buch was ich dazu kenne ist allerdings meist nur auf Englisch zu finden:
    Programming Windows with MFC | ISBN: 1572316950


Anmelden zum Antworten