AGB  ·  Datenschutz  ·  Impressum  







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

FileOpendialog

Ein Thema von Peter Berlin · begonnen am 27. Jun 2007 · letzter Beitrag vom 8. Mär 2010
Antwort Antwort
Seite 1 von 2  1 2      
Peter Berlin

Registriert seit: 6. Jun 2007
Ort: Berlin
2 Beiträge
 
Delphi 2007 Enterprise
 
#1

FileOpendialog

  Alt 27. Jun 2007, 22:29
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
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: FileOpendialog

  Alt 27. Jun 2007, 22:52
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;
  Mit Zitat antworten Zitat
Peter Berlin

Registriert seit: 6. Jun 2007
Ort: Berlin
2 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: FileOpendialog

  Alt 27. Jun 2007, 23:00
vielen Dank es funktioniert super.
gibt es noch andere werte als $702C und wo kann ich die Bedeutung finden
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: FileOpendialog

  Alt 27. Jun 2007, 23:25
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: OpenDialog List View Mode
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: FileOpendialog

  Alt 27. Jun 2007, 23:30
Hm, warum nicht einfach im PSDK gucken: ms-help://MS.MSSDK.1033/MS.WinSDK.1033/shellcc/platform/commctls/listview/messages/lvm_setview.htm

Zitat:
LV_VIEW_DETAILS
LV_VIEW_ICON
LV_VIEW_LIST
LV_VIEW_SMALLICON
LV_VIEW_TILE
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: FileOpendialog

  Alt 27. Jun 2007, 23:34
Zitat von Luckie:
Hm, warum nicht einfach im PSDK gucken
Weil es nichts bringt: LV_VIEW_DETAILS ist mit 0x0001 definiert und bringt keine Wirkung. Die o.g. Codes werde nicht mit einer LVM_SETVIEW Message versendet sondern mit einer WM_COMMAND und von daher helfen die Konstanten noch nicht so richtig. Wahrscheinlich sind sie nur die unteren Bits, aber der Rest?

/EDIT: Es sind nicht die unteren Bits, die stimmen nicht überein.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: FileOpendialog

  Alt 28. Jun 2007, 00:04
Zitat von Muetze1:
Weil es nichts bringt: LV_VIEW_DETAILS ist mit 0x0001 definiert und bringt keine Wirkung. Die o.g. Codes werde nicht mit einer LVM_SETVIEW Message versendet sondern mit einer WM_COMMAND und von daher helfen die Konstanten noch nicht so richtig. Wahrscheinlich sind sie nur die unteren Bits, aber der Rest?
Das ist aber irgendwie seltsam.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
achi 3.0

Registriert seit: 7. Nov 2008
Ort: Köln
32 Beiträge
 
Delphi 5 Professional
 
#8

Re: FileOpendialog

  Alt 7. Nov 2008, 08:51
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.080 Beiträge
 
Delphi 12 Athens
 
#9

Re: FileOpendialog

  Alt 8. Nov 2008, 17:07
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: FileOpendialog

  Alt 24. Sep 2009, 19:22
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 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.
Gruß
Hansa
  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 00:53 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