Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » CFormView ON_FILE_SAVE

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
13.09.2004, 12:54 Uhr
~michael
Gast


Hi,

ich habe einen CFormView in einer SDI. Die speicherfunktion ist von Anfang an schon vorhanden. Nun wollte ci heinige anpassungen vor dem speichern tätigen und habe für die ID ON_FILE_SAVE eine Fuktion geschrieben. Nun funktioniert das normale speicehrn aber nicht mehr und ich weißt nciht wie ich es wieder herstellen kann.

Ich denke, dass ich eine Funktion der Oberklasse überschrieben habe, nur welche? Wie kann ich die jetzt aufrufen das der normale Speichervorgang eingeleitet wird?


C++:
void CDDView::OnFileSave()
{
    this->SetFocus();
    // hier müßt jetzt sowas wie CFormView::Save oder so hin?
}



Kann mir jemand sagen wie das normal funktioniert (wenn ich keine Funktion anlege) und wo ich mich "einhängen" kann, dass es wieder normal funktioniert?

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.09.2004, 09:59 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!

Zitat:

Die speicherfunktion ist von Anfang an schon vorhanden.


Beziehst du das jetzt auf den Dialog der erscheint oder auf die Funktionalität des Speicherns?
Ich hab FormView schon lange nicht mehr gebraucht - aber ich kann mir nicht vorstellen, dass der per Default Daten sichert
Meinst du eventl. Serialize(CArchive &ar)?

mfg
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.09.2004, 12:13 Uhr
Airdamn



Du könntest einfach ein CArchiv erstellen und dann die Serialize-Methode des Dokuments aufrufen.

Vorher könntest Du den Benutzer per CFileDialog eine Datei auswählen/einen Dateinamen eingeben lassen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
15.09.2004, 12:06 Uhr
~Michael
Gast


@mike, ne also das Serialize ist schon fertig. Klar du mußt die Funktion füllen und sagen was er speichern soll. Aber die vom Document wird schon aufgerufen und der CFileDilaog bei speichern utner geht auch automatisch auf. Das meine ich.

@Airdamn Hm stimmt aber das fände ich nicht so tol. Schade das amn sich da nicht anders machen kann.

Thx
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
15.09.2004, 12:07 Uhr
~Michael
Gast


Mike das ist auch egal ob das FormView oder was anderes ist. Ich denk das ist generell bei SDI so. Wenn man dann für die Nachricht ON_FILE_SAVE ne Methode schreibt (glaube Nachricht war WM_COMMAND) dann passiert nix weiter als das was du in diese Methode schreibst. Ich wollte aber das was vorher passiert + eine Zeile eigenen Code
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
15.09.2004, 12:56 Uhr
~mike
Gast


Puhh Also so aus dem Stehgreif würde ich sagen du musst CDocument::OnFileSave aufrufen. Die würde dann wieder CDocument::OnSaveDocument aufrufen, was schlussendlich zur Serialisierung führt.

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
15.09.2004, 13:00 Uhr
~mike
Gast


Das müsste stimmen:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_MFC_member_functions_CDocument.asp

Zitat:

Called by the framework as part of the File Save or File Save As command.
....
The default implementation of this function opens the specified file, calls CObject::Serialize to write the document's data to the file, and then marks the document as clean. Override this function if you want to perform special processing when the framework saves a document. For example, you might write an application where documents represent records in a database rather than separate files.



mfg

Dieser Post wurde am 15.09.2004 um 13:01 Uhr von mike editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
15.09.2004, 13:30 Uhr
~michael
Gast


thx
 
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: