AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verzeichniswechsel in TOpenDialog verhindern

Ein Thema von uligerhardt · begonnen am 27. Jan 2009 · letzter Beitrag vom 28. Jan 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#1

Verzeichniswechsel in TOpenDialog verhindern

  Alt 27. Jan 2009, 14:27
Hallo!

Ich möchte unsere Benutzer Dateien aus einem festgelegten Verzeichnis wählen lassen. Wenn ich dazu TOpenDialog nehme, kann der Benutzer aber auch in andere Verzeichnisse navigieren. Kann man das irgendwie unterbinden? ofNoChangeDir klingt ja gut, ist aber leider was ganz anderes.

Ciao,
Uli.
Uli Gerhardt
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
471 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

Re: Verzeichniswechsel in TOpenDialog verhindern

  Alt 27. Jan 2009, 15:23
Hallo,

Dann nimm doch eine TFilelistbox statt einen opendialog.

ist unter der Kategorie Win3.1 in deiner Komponentenleiste. Das macht genau das. Du gibst einen Pfad vor und der Benutzer darf einen Eintrag(Datei) auswählen.

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Verzeichniswechsel in TOpenDialog verhindern

  Alt 27. Jan 2009, 15:54
Zitat von matashen:
Dann nimm doch eine TFilelistbox statt einen opendialog.
Ich hab mir auch schon überlegt, ob ich mir einen Dialog selber bastele. Aber es wäre halt schön, wenn ich mit wenig Aufwand die Optik des Standarddialogs haben könnte, inkl. Toolbutton für Ansicht, standardgemäß plazierten OK-/Abbrechen-Buttons etcpp.
Einen Teil dessen könnte ich mit einem ShellListView erschlagen, aber der soll ja recht fehlerhaft sein. Mal sehen.
Uli Gerhardt
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
471 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

Re: Verzeichniswechsel in TOpenDialog verhindern

  Alt 27. Jan 2009, 16:12
Meines Wissens gibt es beim Standarddialog kein Event wo du entsprechend reagieren könntest oder eine Eigenschaft um das wechseln des Verzeichnisses zu verhindern.

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#5

Re: Verzeichniswechsel in TOpenDialog verhindern

  Alt 27. Jan 2009, 23:46
beim SHBrowseForFolder dialog kann man eine Callback definieren und darin auf die Message BFFM_INITIALIZED prüfen um nach dem Anzeigen des Dialogs Änderungen durchzuführen, evtl gibts da etwas ähnliches bei TOpendialog auch...musst halt dort dann mittels FindWindow(ex) die Controls suchen und mit ShowWindow,EnableWindow,... entsprechend bearbeiten.

wenn ich bisher richtig recherchiert habe, müsste dieses mit Ofn_EnableHook funktionieren.
Beispiel (c++): http://cboard.cprogramming.com/showthread.php?t=64380

HTH Frank
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Verzeichniswechsel in TOpenDialog verhindern

  Alt 28. Jan 2009, 00:30
Zitat von _frank_:
beim SHBrowseForFolder dialog kann man eine Callback definieren und darin auf die Message BFFM_INITIALIZED prüfen um nach dem Anzeigen des Dialogs Änderungen durchzuführen, evtl gibts da etwas ähnliches bei TOpendialog auch...musst halt dort dann mittels FindWindow(ex) die Controls suchen und mit ShowWindow,EnableWindow,... entsprechend bearbeiten.
Es gibt einen Event OnIncludeItem (o.ä., hab grad kein Delphi in der Nähe), der mit einem Options-Flag ofEnableIncludeNotify o.ä. freigeschalten wird - funktioniert leider aber erst ab W2k.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#7

Re: Verzeichniswechsel in TOpenDialog verhindern

  Alt 28. Jan 2009, 02:18
mal ein paar böse Manipulationen am Opendialog:
http://www.delphipages.com/threads/t...93656&SAR=TRUE

den verzeichniswechsel über das listview scheint man aber nicht deaktivieren zu können

Gruß Frank
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Verzeichniswechsel in TOpenDialog verhindern

  Alt 28. Jan 2009, 09:04
Ich denke, das wird mir zu viel Gebastel, wo man nie weiß, ob man unter jedem OS Alles versteckt und verhindert hat. Und besonders stabil hört sich diese ganze Hookerei auch nicht an. Es muss wohl reichen, im OnFolderChange zu Beep'en und zum Schluss noch eine Prüfung mit MessageBox zu machen.

Danke euch beiden für's Mit-Denken
Uli.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#9

Re: Verzeichniswechsel in TOpenDialog verhindern

  Alt 28. Jan 2009, 09:12
ich halte den Aufwand auch für nicht sinnvoll...wollte diesen Weg nur mit dokumentieren.

Mein Weg wäre eine Listbox mittels findfirst/findnext zu füllen..ist nicht viel Code und man hat auch die Kontrolle über Filter und Verzeichniswechsel.

Gruß Frank
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
471 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#10

Re: Verzeichniswechsel in TOpenDialog verhindern

  Alt 28. Jan 2009, 10:12
Zitat:
Mein Weg wäre eine Listbox mittels findfirst/findnext zu füllen..ist nicht viel Code und man hat auch die Kontrolle über Filter und Verzeichniswechsel.
Da ist ja mein Weg über eine Filelistbox noch elegenater als sich selbst auch noch um das richtige Befüllen mit Dateinamen zu kümmern. Ist meines erachtens die Sinnvollste Lösung.
Einen OpenDialog nutzen um bei falsch Auswahl dann ne Meldung anzuzeigen ist von der Sicht des Benutzers auch nicht gerade fein. Ich denke da wird nur der Benutzer verwirrt und verunsichert.

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz