OpenFile: Der alte...
-
Hallo Leute.
Ich habe hier einen openfiledialog, aber das ist nicht der von windows2k/xp/vista, sondern irgend son alter win3.1/dos scheiß...
void Selector(HWND hWndOwner) { WCHAR path[MAX_PATH + 1]; OPENFILENAME openFile; lstrcpy(path, L""); ZeroMemory(&openFile, sizeof(OPENFILENAME)); openFile.lStructSize = sizeof(OPENFILENAME); openFile.hwndOwner = hWndOwner; openFile.lpstrFile = path; openFile.nMaxFile = sizeof(path); openFile.lpstrFilter = L"All files\0*.*\0"; openFile.nFilterIndex = 0; openFile.lpstrFileTitle = NULL; openFile.nMaxFileTitle = 0; openFile.lpstrInitialDir = NULL; openFile.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_ALLOWMULTISELECT; if (GetOpenFileName(&openFile) == TRUE) { MessageBox(hWndOwner, path, L"File", MB_OK); } }Die Funktion funktioniert zwar einwandfrei, dennoch möchte ich wissen, wie ich den neuen openfiledialog bekomme.
Vielen Dank.
-
ich hab da auch mal einen benutzt, ich schau mal ob ich das finde.
welche Entwicklungsumgebung benutzt du? kannst du nicht den davon nehmen?
z.B. TOpenDialog bei Borlandlg stephan
-
wie, ich programmiere doch winapi, da hat man das psdk.
-
ich habe es gerade rausgesucht. ich habe das in Access mit VBA mal gebraucht. Ich habe den Dialog mit GetOpenFileName(..) aufgerufen. Der Dialog hat bei mir WinXP design.
-
Den source code habe ich ja oben gepostet.
der dlg öffnet bei mir auch im xp-style, aber der dialog an sich ist old-school.
ich will so einen dialog wie der öffnen-dialog von notepad u.a.
danke.
-
Script-Styler schrieb:
sondern irgend son alter win3.1/dos scheiß...
Nanana, ich bitte Dich ausdrücklich darum, solche unflätigen Ausdrücke hier ins Forum zu stellen.
Nun, Dein Code ist mit ziemlicher Sicherheit kein "alter win3.1/dos Dings...", da hier WCHAR verwendet wird, also Unicode! Das war damals garantiert nicht Standard.
Übrigens, um den neuen openfiledialog zu bekommen, warum suchst Du nicht in der MSDN? Da kannst Du alles lesen, um sogar OpenFile-Dialoge im Vista-Stil zaubern zu können! http://msdn2.microsoft.com/en-us/library/ms646960.aspx
Martin
-
OK, danke, ich habe nun das OFN_EXPLORER flag zugefügt und nun klappt es wunderbar. vielen dank dafür.
Aber ich möchte, dass man mehrere Dateien gleichzeitig selektieren kann, also OFN_ALLOWMULTISELECT.
Aber wie bekomme ich die dateien einzeln?
Danke.
-
der dlg öffnet bei mir auch im xp-style, aber der dialog an sich ist old-school
wie meinst du das? Ich meine das Fenster das dann aufgeht, der Dialog ... der sieht bei mir aus wie er eben bei WinXP aussieht. Ich habe deine Frage nicht ganz verstanden.
ich vermute, wie der Dialog aussieht ist davon abhängig was du für ein Betriebssystem benutzt. Die API-Funktion GetOpenFileName(..) öffnet den Standarddialog und der ist bei XP eben XP-Style und bei Vista eben Vistastyle.
lg stephan