Button für "OpenFileDialog"

YannikTold

Mitglied
Liebe Forumgemeinde,
ich habe ein Problem:
Ich arbeite an einem größeren Projekt in Visual Studios 2008 Express Editions. Ich möchte, dass sich beim drücken eines
Buttons ein "OpenFileDialog" Dialogfenster öffnet. Dialogfenster wurde schon eingebaut.
Doch wie lautet der Code und wo füge ich ihn ein?
Kann mir da jemand helfen?
Grüße
YannikTold
 
Was meinst du mit "wie füge ich diese Funktion ein?"? Wie man jede andere Funktion auch einfügt.

Falls du die Parameter meinst:
http://msdn.microsoft.com/en-us/library/ms646927(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms646839(v=VS.85).aspx

Allerdings würde ich dir empfehlen zuerst zu schauen ob der User auf Vista oder später läuft. Denn wenn dem so ist kannst du IFileOpenDialog verwenden (CoCreateInstance mit CLSID_FileOpenDialog), da dies der neue erweiterte Dialog von Vista und Win7 ist.
 
Hier noch ein kleines Beispiel; sollte entsprechend anpassbar sein

C++:
OPENFILENAME ofn;       // common dialog box structure
char szFile[260];       // buffer for file name
HWND hwnd;              // owner window
HANDLE hf;              // file handle

// Initialize OPENFILENAME
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd;
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0";
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

// Display the Open dialog box. 

if (GetOpenFileName(&ofn)==TRUE) 
    hf = CreateFile(ofn.lpstrFile, GENERIC_READ,
        0, (LPSECURITY_ATTRIBUTES) NULL,
        OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
        (HANDLE) NULL);
 
Danke für die Hilfe. Ich habe aber noch eine
Frage: Gibt es auch die Möglichkeit, dass auf klicken der Buttons das Fenster verschwindet, wärend sich ein neues Fenster öffnet?
 
Was meinst du mit "wie füge ich diese Funktion ein?"? Wie man jede andere Funktion auch einfügt.

Falls du die Parameter meinst:
http://msdn.microsoft.com/en-us/library/ms646927(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms646839(v=VS.85).aspx

Allerdings würde ich dir empfehlen zuerst zu schauen ob der User auf Vista oder später läuft. Denn wenn dem so ist kannst du IFileOpenDialog verwenden (CoCreateInstance mit CLSID_FileOpenDialog), da dies der neue erweiterte Dialog von Vista und Win7 ist.

Ich meine Allgemein mit den Funktionen. Ich bin auch Win7 User. P. S. Ich möchte auch einen PrintDialog einfügen.

Hi.

OpenFileDialog klingt mir eher nach .net,.. mit welcher Programmiersprache arbeitest du denn?

lg,..
In welches Unterforum habe ich hineingeschrieben? ;) C++
 
Auf "Öffnen" oder "Abbrechen" etc meinst du?
Eigentlich sollte es da sowieso verschwinden?
Und wenn du gleich danach ein neues Fenster öffnen willst, wiederholst du den Code eben
 
Achso. Danke für die ganze Hilfe. Und wenn ich einen Dialog öffnen möchte, muss ich das so machen wie beim OpenFileDialog?
MFG.
YannikTold
 
Zurück