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?
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)?
@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.
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
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.
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.
mfgDieser Post wurde am 15.09.2004 um 13:01 Uhr von mike editiert.