Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi akt. Verzeichnis des OpenDialogs verändern (https://www.delphipraxis.net/126533-akt-verzeichnis-des-opendialogs-veraendern.html)

luckystar85 27. Dez 2008 15:11


akt. Verzeichnis des OpenDialogs verändern
 
Hallo,

ich möchte gerne das akt. Verzeichnis eines OpenDialogs verändern. Ich habe mir einen eigenen Dialog von TOpenDialog abgeleitet und dort eine ComboxBox eingefügt. In der ComboBox sind benutzerdefinierte Pfade drin. Sobald diese ausgewählt werden, soll im OpenDialog dieser auch ausgewählt werden und dahin gewechselt werden. Habt ihr eine Idee wie man das Verzeichnis des OpenDialogs setzen kann?

Klaus01 27. Dez 2008 15:20

Re: akt. Verzeichnis des OpenDialogs verändern
 
Hallo,

was spricht dagegen, das InitialDir zu setzen?

Grüße
Klaus

himitsu 27. Dez 2008 15:55

Re: akt. Verzeichnis des OpenDialogs verändern
 
Er möchte das setzen, wärend der Dialog geladen ist. (InitialDir wird nur beim Laden des Dialogs ausgewertet)

Du könntest die ShellListView ansteuern (die DialogID fällt mir nur grad nicht ein),
oder bringt es was, wenn du TOpenFilename.lpstrFile entsprechend änderst?

luckystar85 27. Dez 2008 16:03

Re: akt. Verzeichnis des OpenDialogs verändern
 
Zitat:

Zitat von himitsu
oder bringt es was, wenn du TOpenFilename.lpstrFile entsprechend änderst?

Ne das bringt keine Auswirkung.

Soweit ich gesehen habe, bringt InitalDir nur vor Execute was. Nachdem execute ausgeführt wird, bringt es nichts mehr.

himitsu 27. Dez 2008 16:13

Re: akt. Verzeichnis des OpenDialogs verändern
 
Zitat:

Soweit ich gesehen habe, bringt InitalDir nur vor Execute was. Nachdem execute ausgeführt wird, bringt es nichts mehr.
wie gesagt, InitialDir wird nur beim Erstellen des Dialogs ausgewertet :stupid:
(in .DoExecute, bzw. dort in TOpenFilename.lpstrInitialDir eingetragen und an MSDN-Library durchsuchenGetOpenFileName übergeben)

du könntest ja mal in TShellListView/TCustomShellListView nachsehn (Unit ShellCtrls), wie man dort den Pfad ändert (also auf WinAPI Ebene)
und wenn ich Zeit hab, such ich mal die DialogID der ListView raus.


Du hast dir doch bestimmt 'nen ExplorerHook erstellt, über welchen auf Änderungen deiner ComboBox reagiert wird?

luckystar85 27. Dez 2008 18:32

Re: akt. Verzeichnis des OpenDialogs verändern
 
Zitat:

Zitat von himitsu
Du hast dir doch bestimmt 'nen ExplorerHook erstellt, über welchen auf Änderungen deiner ComboBox reagiert wird?

Nö, einfach zur Laufzeit TComboBox.Create und im OnChange dann eine Methode zugewiesen. Diese wird dann richtig aufgerufen und auch die Werte sind richtig. Das habe ich schon überprüft.

luckystar85 27. Dez 2008 18:40

Re: akt. Verzeichnis des OpenDialogs verändern
 
Zitat:

Zitat von himitsu
du könntest ja mal in TShellListView/TCustomShellListView nachsehn (Unit ShellCtrls), wie man dort den Pfad ändert (also auf WinAPI Ebene)
und wenn ich Zeit hab, such ich mal die DialogID der ListView raus.

Ich hab leider die ShellCtrls nur als dcu vorliegen. Kann leider nicht reingucken


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:37 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