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 Opendialog + Details anzeigen (https://www.delphipraxis.net/19987-opendialog-details-anzeigen.html)

toms 12. Apr 2004 09:47


Opendialog + Details anzeigen
 
Hi,

Gibt es eine Option, den Opendialog im Details-Modus anzuzeigen?

fkerber 12. Apr 2004 10:10

Re: Opendialog + Details anzeigen
 
Hi!

Was meinst du mit Detail-Modus?

Ciao fkerber

toms 12. Apr 2004 10:16

Re: Opendialog + Details anzeigen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Es gibt eine Miniaturansicht, Liste, Details, Kacheln, Symbole -Ansicht:

http://www.delphipraxis.net/download.php?id=4824

Habe jetzt schon Stunden probiert und bin noch nicht auf einen grünen Zweig gekommen.

Miniaturansicht (Thumbnails) ist dann die nächste Herausforderung.
Speziell nützlich für den TOpenPictureDialog.

fkerber 12. Apr 2004 10:20

Re: Opendialog + Details anzeigen
 
HI!

Ich verstehe nicht so ganz, was du machen möchtest.
Du hast doch bei einem OpenDialog, den du auf dem Form platzierst genau die von dir aufgezeigten Möglichkeiten der Einstellung.
Was möchtest du denn machen?

Ciao fkerber

Mirilin 12. Apr 2004 10:24

Re: Opendialog + Details anzeigen
 
:hi:

Ich nehm an, er will, dass wenn der Dialog ausgeführt wird, der schon auf "Details" eingestellt ist.

mfg Tobias

Keldorn 12. Apr 2004 10:35

Re: Opendialog + Details anzeigen
 
Hallo

der code ist 3 Jahre alt und nicht sehr schön ;) aber funktioniert, Verbesserung werden gerne entgegengenommen :). nur unter W95 ging das mit der größe nicht richtig
Delphi-Quellcode:

uses
...,ComCtrls,Commctrl;

type
  TForm1 = class(TForm)
  private
    procedure Proc_MoveOpenDialog(var MSG:TMessage);message WM_User+2;
...

...
procedure TForm1.Button1Click(Sender: TObject);
begin
  OpenDialog1.Execute;
end;

procedure TForm1.Proc_MoveOpenDialog(var MSG:TMessage);
var wh,h,ah:hwnd;  
    tb:ttbbutton;
//Opendialog vergrößern und in Listendarstellung bringen
  begin
    h:=Windows.getparent(OpenDialog1.handle);
    if iswindow(h) then
      begin
        Movewindow(h,Form1.left+50,Form1.top+50,650,400,true);
        ah:=findwindowex(h,0,'ToolbarWindow32',Nil);
        if ah<>0 then
          begin
            sendmessage(ah,wm_command ,40964,1);
          end;
      end;
  end;

procedure TForm1.OpenDialog1Show(Sender: TObject);
begin
  postmessage(self.handle,wm_user+2,0,0);
end;
Mfg Frank

toms 12. Apr 2004 10:53

Re: Opendialog + Details anzeigen
 
Hi Keldorn,

Danke für deinen Code. Habe unterdessen auch etwas herausbekommen.
Damit kann man auch in die Thumbnail Ansicht wechseln:

Delphi-Quellcode:
private
    { Private declarations }
    procedure WMUser(var msg: TMessage); message WM_USER;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


const
  FCIDM_SHVIEW_LARGEICON = 28713;
  FCIDM_SHVIEW_SMALLICON = 28714;
  FCIDM_SHVIEW_LIST      = 28715;
  FCIDM_SHVIEW_REPORT    = 28716;
  FCIDM_SHVIEW_THUMBNAIL = 28717; //    XP only
  FCIDM_SHVIEW_TILE      = 28718; //    XP

procedure TForm1.WMUser(var msg: TMessage);
var
 Dlg: HWND;
 Ctrl: HWND;
begin
  Dlg := msg.WParam;
  Ctrl := FindWindowEx(Dlg, 0, PChar('SHELLDLL_DefView'), nil);
  if Ctrl <> 0 then
  begin
    SendMessage(Ctrl, WM_COMMAND, FCIDM_SHVIEW_THUMBNAIL, 0 )
  end;
end;

procedure TForm1.OpenDialog1Show(Sender: TObject);
var
  Dlg: HWND;
begin
  Dlg := GetParent((Sender as TOpenDialog).Handle);
  PostMessage(Handle, WM_USER, Dlg, 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
  begin
  end;
end;

Tetronik 18. Dez 2005 20:19

Re: Opendialog + Details anzeigen
 
Super, Danke toms und keldorn konnte euren Code gut anwenden.

Wiesst Ihr dann auch noch wie man die Detailansicht öffnet und die Dateien nach Datum sortiert anzeigt.
(jüngste Datei oben, älteste unten)


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