Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Objekt an Form ausrichten (https://www.delphipraxis.net/2137-objekt-form-ausrichten.html)

nailor 8. Jan 2003 16:55


Objekt an Form ausrichten
 
Es gibt ja nette Sachen von wegen Alignment...
Aber bis auf alClient müssen alle passen, wenn man die Form resized.
Ich will aber ein PageControl, dass die Höhe (Form1.Height div 2) hat. Wenn man das auf alBottom stellt und beim Resizen von Form1 die Höhe neu berechnet, wird das nichts (zb einfach mal maximieren und wieder zurück, dann ist schon wieder alles falsch) oder einfach ein wenig die Größe ändern. Nach ca. 5 Versuchen, ist bestimmt wieder ein Fehler drin...

Was kann man da machen?

Christian Seehase 8. Jan 2003 17:08

Moin Nailor,

verwende doch mal für die Berechnung nicht (Form1.Height div 2), sondern ((Form1.ClientRect.Bottom-Form1.ClientRect.Top) div 2).

nailor 8. Jan 2003 17:44

Liste der Anhänge anzeigen (Anzahl: 1)
1 mal maximieren, 1 mal wiederherstellen, Ergebnis: Anhang

Christian Seehase 8. Jan 2003 17:52

Moin Nailor,

ich hab's bei mir eben so ausprobiert und geht:

Delphi-Quellcode:
procedure TfrmMAIN.FormResize(Sender: TObject);
begin
  PageControl1.Height := (frmMAIN.ClientRect.Bottom - frmMAIN.ClientRect.Top) div 2;
end;

nailor 8. Jan 2003 19:53

Du kannst mich ja für blöd erklären, aber wenn man das "div 2" weglässt oder dur "+ XYZ" ersetzt, sieht es wieder wie vorher aus.

Ich habe eine Form, ein PageControl(alBottom) darin PageControls, darin RichEdits(alClient)...

Christian Seehase 8. Jan 2003 20:54

Moin Nailor,

also ich hab' ein Formular genommen, da ein PageControl draufgelegt, zwei, drei Tabs erzeugt, das PageControl so bis ca. Mitte hochgezogen (vorher alBottom), dann in FormResize die genannte Zeile und gut.

Und das funktioniert bei Dir nicht? :shock:

nailor 8. Jan 2003 21:14

nein, du klickst einmal auf das Icon neben X (Schliessen) dann nochmal.
Und dann sieht das, egal welche Zeile im Resize-Block steht, so aus wie in gezeigtem Bild.

Manchmal auch, wenn man die Größe "normal" ändert Gibt es Prozeduren oder Properties, die mit Resize kollidieren könnten?

Christian Seehase 8. Jan 2003 21:18

Moin Nailor,

ich hab' das mehrere Male auf verschiedenen Wegen probiert, über Minimize/Maximize Button, DoppelClick auf die Caption und auch direktes Resize über den Rand. Keine Probleme.

Kollisionen kann's eigentlich nur noch dann geben, wenn, Du an irgendeiner anderen Stelle noch Grössenänderungen vornimmst, oder in die Messages eingreifst (z.B. WndProc überschreiben).

nailor 8. Jan 2003 21:22

Die Messages sind in jungfräulichem Zustand, andere Größenänderugen. Ausschließen kann ichs nicht, aber mal deheim schauen...

nailor 8. Jan 2003 22:15

Liste der Anhänge anzeigen (Anzahl: 1)
Source und .exe
Bei mir auf meinem Rechner (ich will das jetzt nicht verallgemeinern, tritt der beschriebene Effekt ein!

*Witzbolde* kann man nicht bevor die komplette Datei hochgeladen wurde testen, ob die Erweiterung legal ist? und warum ist *.ace nicht erlaubt? Das ist imho die beste Art etwas zu packen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:44 Uhr.
Seite 1 von 3  1 23      

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