Mehrere Dateitypen öffnen
-
Hallo zusammen,
ich habe ursprünglich mein Programm mit dem Assistenten erstellt und habe dabei auch die Standard-Erweiterung für Dateitypen angegeben (.fnt). Das Öffnen dieser Dateien erledige ich in OnOpenDocument() meiner Documentenklasse. Jetzt möchte ich aber einen weiteren Dateityp in der Liste angezeigt bekommen! Wo steht im Programm die Erweiterung (.fnt) und kann ich da eine weitere einfügen?Von wo wird eigentlich der 'Öffnen'-Dialog aufgerufen (Wenn ich den regulären 'Öffnen'-Menüpunkt im Menü Datei wähle)? Auf jedenfall nicht von meiner Dokumentenklasse, soviel ist klar!
Könnte ich dann evtl die aufrufende Funktion auch überschreiben?Grüße
rg_Basser
-
Hi rg_basser,
die Funktion heißt
virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);
und ist in afxwin.h festgelegt (Member von CDocument).
Die kannst du überschreiben. Öffne dann einfach einen eigenen Filedialog mit den entsprechenden Eigenschaften und rufe dann die Funktion der Basisklasse mit dem gewählten Dateinamen als Parameter auf.
So habe ich das mal gemacht. Ich weiß nicht, ob es noch eine andere Lösung gibt.
Grüße, Volle.
-
Ich vermute mal in der Stringtable unter
IDR_PROGRAMMNAMETYPE (129)
Das ist enthalten sowas wie *.meine
Mal ändern in .meine;.deine[ Dieser Beitrag wurde am 12.12.2002 um 10:54 Uhr von Nemesyzz editiert. ]
-
Hallo
Wenn du in einer Mdi-Anwendung ein Dokument öffnest, wird natürlich ein neues Dokument erstellt.
Die Fkt. OnOpenDocument(..) solltest du deshalb in deiner Application-Klasse z.B. CDeinProgrammApp überschreiben
In dieser Fkt. öffnest du dann einen FileDialog, so wie es Volle beschrieben hat und rufst dann die Basisklassenfunktion auf um das Dokument zu erstellen.