Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Cmainframe und View

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
09.05.2003, 15:21 Uhr
Dirk22



Ich wüsste gerne was der Unterschied ist, wenn ich auf die Nachricht WM_CLOSE in der Klasse CMainFrame reagiere oder in der Klasse der View darauf reagiere.

Fakt ist auf jeden Fall, dass wenn ich in der Funktion OnClose von CMainFrame noch Code einfüge, dieser dann auch ausgeführt wird. In der Funktion OnClose der View wird mein eingefügter Code einfach ignoriert und das Programm gleich geschlossen.

Aber nicht nur für dieses spezielle Beispiel, sondern allgemein würde mich der Unterschied zwischen diesen beiden Klassen interessieren.

Manche IDs kann man sich im Klassenassistenten für beide aussuchen. Z.B. die IDs der Menüpunkte. Soll ich jetzt in der Klasse CMainFrame darauf reagieren oder in der Klasse der View darauf reagieren? Bisher habe ich immer in der View darauf reagiert.

Vielen Dank im Voraus

Dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.05.2003, 16:23 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Ein Frame kann glaub ich aus mehren Views bestehen. Also wäre eine "Schließnachricht" schon mal nicht eindeutig zuordnerbaar. Und wenn du das Proggi schließen willst, ist der Viewe eher ungeignet, da er ja Bestandteil eines Frames ist. Views kennen so Nachrichten wie WM_PAINT und so, welche sich mit dem Zeichnen von Views beschäftigen. Bei einer MDI ists wieder anderes - dass erkennst du schon, da Child - Klassen zusätzlich generiert werden.

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.05.2003, 18:39 Uhr
Christian
C/C++ Master
(Operator)


Hi!

Wenn das Programm geschlossen werden soll, dann wird das MainFrame Window angewiesen, sich zu schließen. Der Frame schließt daraufhin seine Views und anschließend schließt er sich selbst, d.h. der Frame lebt immer länger als die View, weil der Frame erst die Views schließt.

Hast du das mit dem OnClose() in der View mal so probiert, dass du einfach eine MessageBox(..) erstellen lässt?
Wird die dann echt nicht mehr angezeigt, wenn man das Programm beendet?

(was für ein deutsch, ich krieg die Krise)
--
Grüße, Christian
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.05.2003, 15:36 Uhr
Dirk22



Ja, genau das habe ich probiert. In OnClose von CMainFrame wird die Messagebox noch angezeigt. In der View wird sie nicht mehr angezeigt und das Programm gleich geschlossen.

mfg Dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: