Referenz auf Applicationsklasse? wie?
-
Hi,
aus dem Doc & View kann ich in MFC doch sicher auch auf meine "Hauptapplikations-Klasse" zugreifen oder?
mit "AfxGetApp()" bekomme ich zwar ne menge, aber nicht meine "Hauptklasse"
Hauptklasse = dort wo fenster, documente, views usw. angelegt werden.
dort will ich eigentlich auch alles andere mit "verlinken"... aber ich komme aus dem "CWnd" (HauptFenster) schon gar net mehr dorthin?!?! was soll das?
sollte nicht bei "guter objektorieter prog." eine referenz dorthin vorhanden sein?
-
"AfxGetApp()" bekomme ich zwar ne menge, aber nicht meine "Hauptklasse"
Hauptklasse = dort wo fenster, documente, views usw. angelegt werden.Von AfxGetApp bekommst nen pointer auf deine CWinApp klasse, das ist doch genau das was du suchst (in der InitInstance wird dein hauptfenter angelegt)
-
du musst nur den Returnwert von AfxGetApp() richtig casten, dann sollte das auch funktionieren
-
Genau, guck dir dynamic_cast an.
Oder suchst du AfxgetMainWnd()? Das gibt dir den MainFrame.
-
ich versuchs mal.. mal schaun.
mal so am rand:
wer definiert AfxGetApp()?
sollte doch in der Hauptklasse definiert sein sowas, und nicht global
-
funzt!

-
Die CWinApp gibts gibts genau 1 mal als globales object, von der MFC bei programmstart erzeugt. AfxGetApp() macht nichts anderes als dir nen Pointer auf die dieses globale obejct zu geben.
-
Horst2 schrieb:
du musst nur den Returnwert von AfxGetApp() richtig casten, dann sollte das auch funktionieren