Pfadangabe in Visual C++

Wenn ich in Visual C++ ein Fenster habe, in dem ich zwei Dateien laden will, eine Ausgabedatei bestimme und mehrere Optionen angebe, wie kann ich dann deren Pfade abspeichern ? Jedesmal wenn ich dieses Fenster aufrufe sind alle Eingaben zurueckgesetzt und mein Ausgangsordner wieder der Projektordner.
Weiss jemand Rat ? Danke schon mal im Voraus.

Thomas

Hallo,
kommt darauf an was Du hast…ein SDI,MDI,Dialog-basierend? Und was fuer ein Fenster rufst Du darin wieder auf…Spitter, Dialog, View, ChildFrame,…?

Bei einem Dialog kannst du es in der MainFrame-Klasse abspeichern, die solange instanziert bleibt, wie die Applikation lebt. Du kannst aber auch beim Schliessen des Fensters nicht die Instanz vernichten, sondern das Window auf WS_HIDE setzten und wenn der User es wieder aufmacht, auf WS_Show. Dazu musst Du Dir aber die Instanz des Fensters merken. Haengt aber auch davon ab, ob Du es modal oder per create erzeugst.

Bei einem View gibt es die GetDocument-Methode um die Variablen des Views im Document abzulegen. MFS-Wizard legt dazu immer eine View und eine Document-Klasse an. Die View-Klasse sollte zum Darstellen der Daten zustaendig sein, die Document-Klasse nur die Daten halten.

Das alles ist aber von Fall zu Fall sehr verschieben und laesst sich schwer hier verallgemeinern. Es gibt auch Faelle in denen ich es ueber ein ini-File machen wuerde. Registry geht analog ist aber unschoen.

Auf alle Faelle ist es so, dass das Schliessen Deines Fensters die Instanz vernichtet und damit auch alle members, die der Klasse zugeordnet sind. Demnach muessen die Werte ausserhalb der Klasse abgelegt werden und bei Bedarf ueber den Konstruktor wieder reingeladen werden.

Wenn es ein Dialog ist, dann musst Du die Initialisierung nach dem Aufruf des Basiskonstruktor von CDialog setzten. Die Werte speicherst Du in der App-Klasse auf die Du ueber afxGetApp() oder so jederzeit Zugriff hast.

CU