Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Komponenten sollen bleiben wo sie sind (https://www.delphipraxis.net/7504-komponenten-sollen-bleiben-wo-sie-sind.html)

Luckie 14. Aug 2003 02:51

Re: Komponenten sollen bleiben wo sie sind
 
Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
begin
  Button1.Left := Form1.Width div 2 - Button1.Width div 2;
  Button1.Top := Form1.Height div 2 - Button1.Height;
end;
Der Button bleibt immer in der Mitte.

Pseudemys Nelsoni 14. Aug 2003 02:53

Re: Komponenten sollen bleiben wo sie sind
 
genau so meinte ich das, vielen dank für die mühe :)

Luckie 14. Aug 2003 02:54

Re: Komponenten sollen bleiben wo sie sind
 
Keine Ursache, ich bin heute gut drauf.

Pseudemys Nelsoni 14. Aug 2003 02:56

Re: Komponenten sollen bleiben wo sie sind
 
hat hoffentlich nichts mit drogen zu tun :)

Luckie 14. Aug 2003 02:58

Re: Komponenten sollen bleiben wo sie sind
 
Delphi-Quellcode:
Button1.Left := Form1.ClientWidth div 2 - Button1.Width div 2;
Button1.Top := Form1.ClientHeight div 2 - Button1.Height div 2;
Mach es so, ist besser. Bei Form1.Height ist noch die Titelzeile mit dabei.

Pseudemys Nelsoni 14. Aug 2003 03:00

Re: Komponenten sollen bleiben wo sie sind
 
ah, das ist super, hat mich immerschon gewundert das die titelleiste mitgezählt wurde, naja form1.heigh schliesst die titelleiste eben mit ein, das mit clientheigh etc hab ich noch nie benutzt, gut zu wissen 8)

dankö^^

Pseudemys Nelsoni 16. Aug 2003 17:28

Re: Komponenten sollen bleiben wo sie sind
 
hm aber mit mehren kompos klappt das nicht da sie ja dann alle in er mitte bleiben würden(also alle übereinander)....ich möchte das verhältnis aber nur beibehalten...

ich hatte das mit einer prozdur versucht

Delphi-Quellcode:
procedure NewCompPos(comp: TWinControl);
var
  percL, percT: integer;
begin
  with comp as TWinControl do
  begin
    percL := FormW DIV comp.Left;
    percT := FormH DIV comp.Top;
    comp.Left := Form1.Width DIV percL;
    comp.Top := Form1.Height DIV percT;
  end;
end;
FormW und FormH sind 2 globale veriablen die die alte form1 grösse beinhalten.... aufrufen tu ichs dann halt mit

Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
begin
  NewCompPos(Panel1);
end;

nur irgendwie funktionietr das ganze noch nicht so, wenn ich die fenster grösse ändere ist das panel in der bewegung viel lahmer als das fenster selbst, wieso das?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr.
Seite 2 von 2     12   

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-2025 by Thomas Breitkreuz