![]() |
Idee gesucht für skalierbare, dynamisch erstellte Controls
Hi,
ich erzeuge zur Laufzeit auf meinem Formular verschiedene Controls (Editfelder, Labels usw.). Das Formular würde ich gerne beim vergrößern auf Vollbild skalierbar gestalten. Leider werden (verständlicherweise) nur die Komponenten skaliert, die schon erzeugt wurden, alle neuen haben die alte Größe und Position. Wenn ich beim Erzeugen einer neuen Komponente prüfe, ob das Formular skaliert ist, kann ich zwar die Komponente skalieren, aber nicht die Position. Gibt es für so einen Fall keine "ideale" Lösung? Ich bin schon am Überlegen, ob ich ein Webbrowser-Control verwende, dort meine Editfelder erzeuge und dieses skalieren lasse... |
AW: Idee gesucht für skalierbare, dynamisch erstellte Controls
Was hattest du denn bei den Controls im Formdesigner eingestellt, damit die nun skaliert werden?
Genau die gleichen Property mußt du nun auch manuell setzen, wenn du schon manuell erstellst. :angle2: |
AW: Idee gesucht für skalierbare, dynamisch erstellte Controls
Ich habe nur in der Resize-Methode ein ScaleBy:
Delphi-Quellcode:
// Hochskalieren
procedure TfrmMain.scaleUp; begin lastWS := 1; oldW := Self.Width; Self.ScaleBy(scaleF,90); end; procedure TfrmMain.scaleDown; begin lastWS := -1; Self.ScaleBy(90,scaleF); Self.Width := oldW; end; procedure TfrmMain.FormResize(Sender: TObject); begin // beim Starten nicht skalieren if NOT scale then begin scale := True; lastWS := -1; exit; end; case WindowState of wsNormal: if lastWS = 1 then scaleDown; wsMaximized: if lastWS = -1 then scaleUp; end; frmMain.Repaint; end; |
AW: Idee gesucht für skalierbare, dynamisch erstellte Controls
Wahrscheinlich bringt Dir das wenig - aber:
Gerade in Bezug auf Skalierbarkeit sollte FireMonkey (bei allen Schwierigkeiten) deutlich effektiver sein. Wer viel in dem Bereich arbeitet, sollte sich das mal anschauen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 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 by Thomas Breitkreuz