Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi 2 Edits nebeneinander gleichzeitig vergrößern (https://www.delphipraxis.net/128525-2-edits-nebeneinander-gleichzeitig-vergroessern.html)

wth 31. Jan 2009 15:33


2 Edits nebeneinander gleichzeitig vergrößern
 
Hi,

Wie muss man die Anchors von 2 Edits (nebeneinander) setzen, damit diese sich beim vergrößern/verkleinern der Form um das gleiche Verhältnis vergrößern/verkleinern und sich dabei nicht überlappen?

Geht das mit Anchors überhaupt? Wenn nicht, wie kann ich es dann machen? :gruebel:

Danke :wink:

Jens Hartmann 31. Jan 2009 15:42

Re: 2 Edits nebeneinander gleichzeitig vergrößern
 
Hallo,

was meinst du mir vergrößern der Form. Die Form an die Bildschirmauflösungen anpassen oder maximieren?

MFG


Jens

DeddyH 31. Jan 2009 15:43

Re: 2 Edits nebeneinander gleichzeitig vergrößern
 
Ich würde die Anchors nur für das linke Edit (Edit1) setzen. Im FormResize dann etwas in der Art:
Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
begin
  Edit2.Left := Edit1.Left + Edit1.Width + 8; //8 ist der Abstand zur Designtime
  Edit2.Width := Edit1.Width;
end;

wth 31. Jan 2009 15:53

Re: 2 Edits nebeneinander gleichzeitig vergrößern
 
Zitat:

Zitat von DeddyH
Ich würde die Anchors nur für das linke Edit (Edit1) setzen. Im FormResize dann etwas in der Art:
Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
begin
  Edit2.Left := Edit1.Left + Edit1.Width + 8; //8 ist der Abstand zur Designtime
  Edit2.Width := Edit1.Width;
end;

Danke, aber irgendwas passt da noch nicht so ganz, je öfter man die Form vergrößert, desto mehr läuft das rechte Edit immer mehr aus dem Ruder (über die Form hinaus). :gruebel:

DeddyH 31. Jan 2009 15:57

Re: 2 Edits nebeneinander gleichzeitig vergrößern
 
Logisch, wie hast Du Dir das sonst vorgestellt?

omata 31. Jan 2009 16:04

Re: 2 Edits nebeneinander gleichzeitig vergrößern
 
[wegen Nichtbeachtung gelöscht]

Hawkeye219 31. Jan 2009 16:16

Re: 2 Edits nebeneinander gleichzeitig vergrößern
 
Hallo wth,

wenn die Edit-Controls direkt auf dem Formular liegen, kannst du folgenden Code einsetzen:

Delphi-Quellcode:
procedure TForm1.FormAlignPosition(Sender: TWinControl; Control: TControl;
  var NewLeft, NewTop, NewWidth, NewHeight: Integer; var AlignRect: TRect;
  AlignInfo: TAlignInfo);
const
  EditBorder = 16; // Abstand der Edit-Controls vom linken/rechten Rand
  EditGap   = 8;  // Abstand zwischen den Edit-Controls
var
  EditWidth : Integer;
begin
  EditWidth := (ClientWidth - 2 * EditBorder - EditGap) div 2;

  Edit1.Left := EditBorder;
  Edit1.Width := EditWidth;

  Edit2.Left := ClientWidth - EditBorder - EditWidth;
  Edit2.Width := EditWidth;
end;
Die Routine verbindest du mit dem Ereignis OnAlignPosition des Formulars. Bei beiden beteiligten Edit-Controls muss die Eigenschaft Align auf den Wert alCustom gesetzt werden.

Eine Alternative wäre vielleicht die Verwendung der Komponente TGridPanel.

Gruß Hawkeye

wth 31. Jan 2009 16:37

Re: 2 Edits nebeneinander gleichzeitig vergrößern
 
Vielen Dank Hawkeye, so funktioniert es wunderbar :)


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