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 Dateidialog Fensterposition (https://www.delphipraxis.net/79871-dateidialog-fensterposition.html)

engel 30. Okt 2006 10:59


Dateidialog Fensterposition
 
Die Dateidialoge erscheinen nach .execute immer zentriert, d.h. immer an derselben Stelle - und außerdem ziemlich klein.
Da dacht' ich mir sie zu positionieren, nachdem ich nach OnShow des Dialogs SetWindowPos benutze, etwa so:

Delphi-Quellcode:
 procedure TForm1.Button1Click(Sender: TObject);
begin
 OpenDialog1.OnShow:=DialogShow;
 OpenDialog1.Options:=[ofShareAware,ofEnableSizing,ofHideReadOnly];
 if OpenDialog1.Execute then showmessage(OpenDialog1.FileName);
end;

procedure TForm1.DialogShow(Sender: TObject);
begin
 SetWindowPos(OpenDialog1.Handle,HWND_NOTOPMOST,10,10,200,200,SWP_SHOWWINDOW);
end;
Also so geht's jedenfalls nicht - das Fenster ist an der gleichen Position wie immer. Wie geht's richtig?

Matthias :angel2:

Klaus01 30. Okt 2006 11:04

Re: Dateidialog Fensterposition
 
Kannst Du denn nicht mit OpenDialog1.Position(TPoint) darauf zugreifen?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

begin
  OpenDialog1.Position(..);
  OpenDialog1.Options:=[ofShareAware,ofEnableSizing,ofHideReadOnly];
  if OpenDialog1.Execute then showmessage(OpenDialog1.FileName);
end;
Grüße
Klaus

Luckie 30. Okt 2006 11:07

Re: Dateidialog Fensterposition
 
So geht es:
Delphi-Quellcode:
procedure TForm1.DialogShow(Sender: TObject);
begin
  SetWindowPos(Getparent(OpenDialog1.Handle),HWND_NOTOPMOST,10,10,500,200,SWP_SHOWWINDOW);
end;

engel 30. Okt 2006 11:32

Re: Dateidialog Fensterposition
 
...danke Luckie! - naja, auf dem richtigen Weg war ich wenigstens schon... :coder:

engel 30. Okt 2006 12:23

Re: Dateidialog Fensterposition
 
...aber so richtig funkt' das doch nicht: Die Größe kann man so zwar ändern, aber die linke obere Ecke bleibt unverändert an derselben Position, egal welche Parameter man angibt! :gruebel:

engel 30. Okt 2006 12:27

Re: Dateidialog Fensterposition
 
Zitat:

Zitat von Klaus01
Kannst Du denn nicht mit OpenDialog1.Position(TPoint) darauf zugreifen?

Position kennt der Dialog nicht (jedenfalls nicht in D5).

Klaus01 30. Okt 2006 12:45

Re: Dateidialog Fensterposition
 
Zitat:

Zitat von engel
Zitat:

Zitat von Klaus01
Kannst Du denn nicht mit OpenDialog1.Position(TPoint) darauf zugreifen?

Position kennt der Dialog nicht (jedenfalls nicht in D5).

Die Property scheint es nur in der Hilfe zu geben.

Hier ist noch etwas aus dem Netz: http://groups.google.de/group/borlan...d68fdc6b286d9a

oder hier: http://groups.google.de/group/de.com...27385c1428367c

Vielleicht hilft es Dir ja ein wenig weiter.

Oder Du bastelst Dir selber einen Dialog.

Grüße
Klaus

engel 30. Okt 2006 15:01

Re: Dateidialog Fensterposition
 
Zitat:

oder hier: http://groups.google.de/group/de.com...27385c1428367c

Vielleicht hilft es Dir ja ein wenig weiter.

Hallo Klaus, der Link ist klasse - und auf so komplizierte Weise hätt' ich's nie selbst geschafft. :hello:


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