CFileDialog mit voreingestelltem Verzeichnis?
-
Hallo,
ich möchte eine Datei auswählen, das stimmt schon soweit.
jedoch wär es mir lieb wenn ich mindestens die Dateien im Programmverzeichnis
im Dialog anzeigen kann, auch wenn dieser weiter unten zb. Programme\ordner\test.cle liegt.
Oder gibt es einen Dialog wie im Windows XP bei dem ich das Verzeichnis, in der die Datei liegt auswählen kann?Das Verzeichnis vorgeben hat bei mir nicht funktioniert, kannst du mir ein Beispiel geben das funktioniert?
Danke
-
CFileDialog m_File(TRUE, NULL, NULL, OFN_FILEMUSTEXIST | OFN_EXPLORER, OpenFilter); m_File.m_ofn.lpstrInitialDir = g_szAppPath; m_File.DoModal()Funktioniert für mich.
http://msdn.microsoft.com/en-us/library/ms646839(VS.85).aspx
lpstrFile
Pointer to a buffer that contains a file name used to initialize the File Name edit control. The first character of this buffer must be NULL if initialization is not necessary.Das eine ist ein file name, das andere ein directory. Du benutzt für beides g_szAppPath?
-
Hallo,
m_File.m_ofn.lpstrFile = g_szAppPath;war falsch ich weiß aber nur mit
m_File.m_ofn.lpstrInitialDir = g_szAppPath;hats bei mir nicht funktioniert.
Ich gleiche morgen nochmal mit deinem Code ab und melde mich dann nochmal ob es funktioniert oder nicht.Danke für die Hilfe
-
CString OpenFilter = "DB_IN (*.cle)|*.cle||"; TCHAR g_szAppPath[500]=_T("\\Programme\\....");OpenFilter ist ANSI, g_szAppPath Unicode und das Programm selbst ist?
-
Hallo,
das Programm selbst ist Unicode.
-
Hallo,
habe nun nochmals alles ausprobiert verglichen etc., das Vorgeben eines Pfades
funktioniert bei mir nicht.Kann es sein dass diese Option unter Windows Mobile 5 nicht funktioniert?
Danke
-
http://msdn.microsoft.com/en-us/library/aa453150.aspx
Scheint wirklich so, dass unter CE die Welt anders tickt...
-
@Martin: Gehen bei Dir gerade die MSDN-Links? Bei mir nicht...
-
Jochen Kalmbach schrieb:
@Martin: Gehen bei Dir gerade die MSDN-Links? Bei mir nicht...
Hmmm. Gehen.
Aber an meinen MSDN Account komme ich aktuell irgendwie nicht ran... irgendwas scheint mit Windows Live nicht zu stimmen.
-
Jetzt geht es bei mir auch wieder...
-
Martin Richter schrieb:
Aber an meinen MSDN Account komme ich aktuell irgendwie nicht ran... irgendwas scheint mit Windows Live nicht zu stimmen.
Vielleicht liegt es ja an dem:
http://blogs.msdn.com/msdnsubscriptions/
http://blogs.msdn.com/msdnsubscriptions/archive/2008/10/04/subscriptions-downloads-and-personalization-is-currently-down-last-updated-2008-10-04-11-45am-pst.aspx
oder
http://blogs.msdn.com/msdnsubscriptions/archive/2008/10/03/if-you-get-the-windows-liveid-is-unavailable-message.aspx
-
Das wirds sein. Danke für die Info Jochen!
-
Hallo,
kann mir jemand zu GetOpenFileName ein Beispiel posten? Wär klasse.
Vielen dank schonma
-
GetOpenFileName Function
http://msdn.microsoft.com/en-us/library/ms646927.aspx
For an example, see Opening a File:http://msdn.microsoft.com/en-us/library/ms646829(VS.85).aspx

-
Hallo,
habe getreu dem Microsoft Beispiel einen Datei Öffnen Dialog mit GetOpenFileName erzeugt,
jedoch sieht dieser genauso aus wie CFileDialog und Verhält sich auch genauso.
Ich kann auch hiermit zwar ein Verzeichnis vorgeben, welches aber vom Dialog
nicht übernommen wird.Hier mein Code:
ZeroMemory(&ofn, sizeof(ofn)); ofn.lStructSize = sizeof(ofn); ofn.hwndOwner = hDlg; ofn.lpstrFile = szFile; // Set lpstrFile[0] to '\0' so that GetOpenFileName does not // use the contents of szFile to initialize itself. ofn.lpstrFile[0] = _T('\0'); ofn.nMaxFile = sizeof(szFile); ofn.lpstrFilter = _T("DB_IN (*.cle)\0*.cle\0"); ofn.nFilterIndex = 1; ofn.lpstrFileTitle = NULL; ofn.nMaxFileTitle = 0; ofn.lpstrInitialDir = g_szAppPath; ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; if (GetOpenFileName(&ofn)==TRUE){}Kann mir jemand helfen?
-
aistudy schrieb:
habe getreu dem Microsoft Beispiel einen Datei Öffnen Dialog mit GetOpenFileName erzeugt,
jedoch sieht dieser genauso aus wie CFileDialog und Verhält sich auch genauso.Was hast Du denn erwartet, wenn die MFC die WinAPI verwendet?
Und Du bist sicher, dass der Pfad auch stimmt?
-
Hallo,
ja ich bin sicher, dass der Pfad richtig sein muss.
Ich nutze die Pfadvariable mehrmals für verschiedenen Operationen
wie entpacken lesen schreiben und alles funktioniert.Der Pfad ausgelesen aus dem Debugger lautet:
\Program Files\Checklist\
Irgendjemand eine Idde an was es liegen könnte?
Danke
-
Braucht CFileDilog im Pfadnamen nicht auch das Laufwerk?
?:\Program Files\Checklist\
-
Das hatte ich auch schon geschrieben...
-
Hallo,
das kann sein, problematisch ist jedoch, dass es soweit ich weiß
auf dem PDA keine Laufwerksbezeichnungen gibt ^^.Die SD-Karte wird in ein Verzeichnis gemappt und mehrere Platten sind nicht
möglich.Falls jemand weiß wie ich trotzdem das Verzeichnis vorgeben kann wäre ich sehr
dankbar.