![]() |
Mathematik-Problem
Wahrscheinlich simpel aber ich bin gerade zu doof dafür.
Sagen wir mal ich habe einen Dialog mit drei Buttons.
Code:
Ich habe in einer Variablen die Breite insgesamt von Ja, Nein und Abbrechen stehen.
---------------------------
| | | | | [Ja] [Nein] [Abbrechen] | | | --------------------------- Wie berechne ich nun wohin ich Ja platzieren muss, sodass alle Buttons zentriert sind? |
AW: Mathematik-Problem
Müsste Hälfte der Dialogbreite minus Hälfte der gesamten Buttonbreite sein.
|
AW: Mathematik-Problem
Problem ist, dass ich zu diesem Zeitpunkt noch nicht die Dialogbreite kenne. Width oder ClientWidth ergibt bei mir 75, was irgendein vordefinierter Wert ist oder so.
Der Dialog ist am ende etwa 200px breiter. |
AW: Mathematik-Problem
Zitat:
Zitat:
|
AW: Mathematik-Problem
Genau deswegen bin ich ja hier ;)
Es handelt sich hier um einen Custom-Message-Dialog. Wenn die Probleme so weitergehen werde ich vermutlich irgendwann auf eine normale TForm umsteigen und die Buttons kommen dann in ein TGrid. |
AW: Mathematik-Problem
Setzt du den die Breite des Dialoges ?
Dann wäre
Code:
die Methodik zur Berechnung der Gesamtbreite.
Sum(Buttonbreiten)+(((Buttonanzahl)+1)*Abstandzwischenbuttons)
Hast du die Gesamtbreite des Dialoges:
Code:
(Dialogbreite - (sum(Buttonbreiten))/(Buttonanzahl+1)
|
AW: Mathematik-Problem
Liste der Anhänge anzeigen (Anzahl: 1)
Moin...:P
Zitat:
Vorteile: 1. beliebige Controls 2. beliebige Anzahl/Positionierung/Größe der Buttons 3. Internationalisierung 4. Design der Anwendung |
AW: Mathematik-Problem
Muss ich mich auch einmal dran setzen. Die Idee mit dem GridPanel habe ich sofort wieder verworfen, da es hier Probleme hab.
Ich werde einfach die oben genannten Formeln verwenden und zwischen allen Buttons 5px Zwischenraum lassen. Wird schon klappen hoffentlich. |
AW: Mathematik-Problem
Alternativer Vorschlag: Setzte die Buttons in ein Panel, das die passende Größe für die Buttons hat. Dann kannst du dieses Panel (hier Panel1) mit diesem Code in seinem Parent zentrieren:
Delphi-Quellcode:
Panel1.BoundsRect := CenteredRect(Panel1.Parent.ClientRect, Panel1.BoundsRect); // uses System.Types
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 Uhr. |
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