![]() |
FileOpendialog
Hallo,
weiss jemand, wie man den Opendialog sofort im der Ansicht Details starten kann?? und dann natürlich auch gleich in Datums-sortierter Ansicht? Ich hab schon überall gesucht, aber nichts gefunden |
Re: FileOpendialog
Hier der Code für die Detailansicht:
Delphi-Quellcode:
procedure TForm1.OpenDialog1FolderChange(Sender: TObject);
var H, H2: THandle; begin H := FindWindowEx(GetParent(OpenDialog1.Handle), 0, PChar('SHELLDLL_DefView'), nil); H2 := FindWindowEx(H, 0, PChar('SysListView32'), nil); if (H <> 0) and (H2 <> 0) then begin SendMessage(H, WM_COMMAND, $702C, 0); Windows.SetFocus(H2); end; end; |
Re: FileOpendialog
vielen Dank es funktioniert super.
gibt es noch andere werte als $702C und wo kann ich die Bedeutung finden |
Re: FileOpendialog
Folgende sind mir bekannt:
Windows XP: $702A - Symbole $702B - Liste $702C (ODM_VIEW_DETAIL) - Details $702D - Miniaturansicht $702E - Kacheln Windows 98: $7029 - grosse Symbole $702A - kleine Smbole $702B - Liste $702C (ODM_VIEW_DETAIL) - Details Die Deklaration bzw. Zusammensetzung des Wertes aus entsprechenden Konstanten würde mich auch freuen. /EDIT: Hier noch ein wenig was dazu: ![]() |
Re: FileOpendialog
Hm, warum nicht einfach im PSDK gucken: ms-help://MS.MSSDK.1033/MS.WinSDK.1033/shellcc/platform/commctls/listview/messages/lvm_setview.htm
Zitat:
|
Re: FileOpendialog
Zitat:
/EDIT: Es sind nicht die unteren Bits, die stimmen nicht überein. |
Re: FileOpendialog
Zitat:
|
Re: FileOpendialog
Hallo,
habe das gleiche problem gehabt und konnte es durch diesen beitrag lösen. da mein program mit touchscreen genutzt wird müsste ich die buttons und die scrolleiste auf dem opendialog auch größer machen. geht das ? danke |
Re: FileOpendialog
Die Größe der Scroll-Leiste läßt sich über die Systemeigenschaften ändern.
z.B. > Systemseuerung > Anzeige (oder Desktop > Eigenschaften) > Darstellung > [Erweitert] > Element: Bildlaufleiste (oder auf die Scrollbar klicken) > und dann nur noch die Größe einstellen für die Buttons: - entweder das Fenster zoomen - ähnlich wie beim Anzeigemodus auswählen die Button suchen und neue Größe zuweisen - oder die passende Resource ändern (dieses Fesnter liegt vordefiniert in einer der Windowseigenen DLLs und ließe sich demnach "leicht" verändern) Für Zweiteres könnte ich auch die Dialog-Element-IDs bereitstellen. Wo man dieses dann in TOpenDialog einbinden muß, weiß ich jetzt allerings nicht ... für die direkte WinAPI-Nutzung (bzw. 'ne Non-VCL-Variante) würde sich der Explorer-Hook (Window-Create-Ereignis) anbieten. |
Re: FileOpendialog
Hi,
der Quelltext von Mütze geht soweit. Da er nicht kommentiert ist und ich dementsprechend wenig verstehe, was der da macht, folgende Frage : wenn ich den File-OpenDialog exekutiere :mrgreen: dann soll einfach nur eine Liste der Dateien erscheinen. Also quasi normal. Wird nun ein Unterverzeichnis aufgemacht, dann sollen die darin befindlichen Dateien allerdings in Miniaturansicht erscheinen. Wo setze ich denn da an ? Aus der WinAPI-Beschreibung werde ich nicht recht schlau. :shock: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz