MFC "Datei öffnen", fertige Klasse?

#1543347
Lesenswert?

Hallo miteinander

Ich hab einmal ne Frage: Gibts das Datei öffnen Klasse? Weil ich habe 
mich gefragt, ob das wirklich jedesmal neu programmiert wird. Wenn ich 
in irgend einem Programm eine Datei öffnen möchte sehen die Formen immer 
gleich oder sehr ähnlich aus.

Hoffe ihr könnt mir da weiterhelfen
falls ihr nicht ganz genau wisst, was ich meine.. nur fragen.
MFG
Patrick
#1543381
Lesenswert?

also bevor ich mit solchen kruden MFC-Klassen arbeiten würde, würde ich 
mir das ganze selbst kapseln.

Ich würde eine Klasse so aufbauen:
1
FileDialog();
2

3
public:
4
void addFileNameTemplate(string template, string description);
5
setDefaultDir(string defaultdir);
6

7
/** returns empty string if no valid file was selected*/
8
string getOpenFileName();
9

10
/** returns empty string if no valid file was selected*/
11
string getSaveFileName();

eventuell auch sowas, um die Abbruchbedingungen besser handlen zu 
können:
1
enum FileDLGStatus{... };
2
FileDLGStatus getOpenFileName(string &o_selectedFile);
#1543387
Lesenswert?

Klaus Wachtler schrieb:
> sowas?
> http://msdn.microsoft.com/en-us/library/dk77e5e7(VS.80).aspx

genau sowas hab ich gesucht. Danke

Vlad Tepesch schrieb:
> also bevor ich mit solchen kruden MFC-Klassen arbeiten würde, würde ich
> mir das ganze selbst kapseln.

Das nicht alles auf der Welt Perfekt ist, weiss ich, aber mir wurde von 
einem CEO (arbeitet nebenbei als C Lehrer) beigebracht, dass man 
"wirtschaftlicht" denken soll, also wozu viel Zeit in etwas investieren, 
wenns schon exisiert?
Um beim Motto "wieso das Rad zweimal erfinden" zu bleiben.
Trifft jetzt vielleicht nicht ganz deine Ansichten...
#1543431
Lesenswert?

wenn du aber die Zeit mit einrechnest, die du bei jeder Benutzung länger 
brauchst, weil du bei jeder Benutzung wieder in die Refenrenz schauen 
musst und dich um die Verwaltung des Speichers selbst kümmern musst oder 
hinterher Leaks oder andere Bugs suchst, dann hat sich die Stunde 
schnell rentiert, die man in eine vernünftige Kapselung dieser 
Funktionen steckt.

Am wirtschaftlichsten ist es wahrscheinlich, sich in ein 
plattformunabhängiges GUI-Framework mit vernünftiger c++ Schnittstelle 
einzuarbeiten (zB QT)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren