Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » vor dem Schliessen etwas tun

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
08.05.2003, 12:22 Uhr
Dirk22



Hi,

ich möchte den Schliessen Button mit dem Kreuz drauf in der rechten oberen Ecke des Fensters etwas umfunktionieren. Ich möchte, dass wenn der Benutzer auf ihn klickt, dass dann nicht das Fenster geschlossen wird, sondern, dass dann ein Dialogfeld auftaucht. Um das Schliessen des Fensters kümmere ich mich dann selbst.

Bisher habe ich es mit der Nachricht WM_CLOSE versucht und in der Funktion OnClose steht folgender Code:


C++:
  CBeendenDlg Beenden;  
         Beenden.DoModal();    
         CFormView::OnClose();



Aber leider wird das Programm einfach beendet und nicht mein Dialogfeld aufgerufen, indem ich den Benutzer fragen wollte, ob er die Änderungen speichern will.

Ich hoffe, dass ihr mir sagen könnt, warum es so nicht klappt und wie es denn klappt.

Vielen Dank schon im Voraus für eure Hilfe

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


Hi!
Ist nur ne Vermutung - aber deklarier die CBeendenDlg Variable mal als Membervariable!

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.05.2003, 14:04 Uhr
Dirk22



Wie kann ich eine Variable einer Dialogfeldklasse als Membervariable deklarieren. Mit dem Klassenassistenten weiss ich nicht wie, da die ID des Dialogfeldes nicht in der Liste des Registers Member-Variablen auftaucht.

Jetzt habe ich versucht die Variable einfach in die Headerdatei der View reinzuschreiben. Leider hat es nichts geändert. Das Fenster wird bei Klick auf den Schliessenbutton dennoch sofort geschlossen, ohne meinen Dialog aufzurufen.

Ich habe den gleichen Code, den ich oben gepostet habe, mit einem Menupunkt mal ausprobiert. Klickt man auf diesen Menupunkt erscheint dann auch mein Dialog. Leider klappt es eben mit dem Schliessenbutton nicht.

mfg Dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.05.2003, 15:41 Uhr
~Tody
Gast


hi, keine ahnung ob du es schon rausgefunden hast aber ich habe das selbe mit dem minimieren-button gemacht.
die methode OnSize() wird jedesmal aufgerufen wenn das fenster verändert wird.
In deine cpp-datei kommt das:

C++:
BEGIN_MESSAGE_MAP(CMeinDlg, CDialog)
     ON_WM_SIZE()
END_MESSAGE_MAP()
//------------------------------------------
void CMeinDlg::OnSize(UINT nType, int cx, int cy)
{
     CDialog::OnSize(nType, cx, cy);

     if (nType ==SIZE_MINIMIZED)
     {
          //MessageBox("Minimiert");
     }
}



und in deinen header das:

C++:
afx_msg void OnSize(UINT nType,int cx,int cy);



ich hoffe es hilft
 
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: