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.
-
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