Open Dialog einbinden!



  • Hallo,

    ich möchte gerne in meinem Dialogfenster einen Button einbauen, der beim Druck auf diesen, mir ein Dialogfenster aufmacht, in dem ich dann durch meinen Verzeichnisbaum herumgehen kann und dort eine Datei selektieren kann. Nach dem ich dann eine Datei selektiert habe und auf Ok gedrückt habe, soll er den Dateinnamen in ein Textfeld verschieben. Ich habe mir jetzt da die entsprechende Methode aus der MSDN herausgesucht (denk ich mal, dass es die ist), jedoch habe ich das Problem, dass meine Dialoganwendung komplett geschlossen wird...weiss einer ne Antowrt, warum das so ist?

    Hier ist der Quellcode:

    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(ofn));
    ofn.lStructSize = sizeof(ofn);
    ofn.hwndOwner = hwnd;
    ofn.lpstrFile = szFile;
    //
    // Set lpstrFile[0] to '\0' so that GetOpenFileName does not 
    // use the contents of szFile to initialize itself.
    //
    ofn.lpstrFile[0] = '\0';
    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);
    


  • weiss da keiner Bescheid?



  • ...hat sich erledigt, wenn es einen interessiert...hier der Code

    CFileDialog ldFile(TRUE);
    
    // Show the File Open dialog and capture the result
      if (ldFile.DoModal() == IDOK)
      {
        // Get the file name selected
        m_MFilePath = ldFile.GetFileName();
        // Update the dialog
        UpdateData(FALSE);
    


  • Das Du hier im vollkommen falschen Forum bist mit Deinem Thema ist Dir aber schon klar, oder?

    Nur falls Du Dich wunderst warum im "C++"-Forum keiner eine "MFC mit dem Visual C++"-Frage beantwortet...



  • war keine Absicht, sorry...bin noch neu, was c++ angeht...hab den Unterschied nicht erkannt...



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum MFC mit dem Visual C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten