CFileDialog: Nur Wechseldatenträger erlauben oder Rechtsklick sperren



  • Hallo zusammen,

    habe mal wieder ein Anliegen: Ich nutze öfters den CFileDialog (zum Laden und Speichern). Ist es irgendwie möglich, damit ich hierbei nur auf ein bestimmtes Laufwerk (oder nur Wechseldatenträger) zugreifen kann?

    Falls dies nicht geht, kann man dann verschiedene Aktionen sperren (z.B. Rechtsklick und Tastatur sperren), damit keiner Änderungen im Dateisystem vornehmen kann? Bei Tastatur sperren meine ich vor allem die ENTF-Taste (löschen) und die F2-Taste (umbenennen).

    Gruß
    Flo



  • Dies wäre durch Subclassing möglich...
    SetWindowLong(pFileDlg->GetSafeHwnd(),GWL_WNDPROC,(LONG)NewDlgProc);
    In der neuen Fensterprozedur können dann Nachrichten abgefangen und manipuliert werden, zb. WM_KEYDOWN. Ich kann aber nicht garantieren, dass das funktioniert. 😉


  • Mod

    Und? Schon mal die Bordmittel versucht die CFileDialog anbietet?
    CFileDialog::OnFileNameChange
    CFileDialog::OnFolderChange

    So bekommst Du zumindest mit was passiert... Was Du dann machst ist noch was andres!



  • Ok danke ich schau mal was ich damit anfangen kann !



  • Martin Richter schrieb:

    Und? Schon mal die Bordmittel versucht die CFileDialog anbietet?
    CFileDialog::OnFileNameChange
    CFileDialog::OnFolderChange

    So bekommst Du zumindest mit was passiert... Was Du dann machst ist noch was andres!

    Also ich habe es mir mal genauer angeschaut. Damit bekomme ich mit, wenn bezüglich Ordnern oder Dateien was geändert wird, nur wie verhinder ich dies? Wenn ich es mitbekomme, ist es ja eig. schon zu spät !


  • Mod

    ... dann mach es doch wieder rückgängig... 😉



  • Ist das wirklich eine gute Idee?

    Was mich an Office am häufigsten nervt / genervt hat, ist, daß bestimmte Operationen im Datei-Öffnen-Dialog verboten waren.


Anmelden zum Antworten