AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Steuerelement im OnShow verschieben

Ein Thema von messie · begonnen am 16. Feb 2009 · letzter Beitrag vom 17. Feb 2009
 
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Steuerelement im OnShow verschieben

  Alt 16. Feb 2009, 14:14
Zitat von DeddyH:
Zeig doch mal den Quältext.
Das Problem tritt in Zeile 2122 auf
Ich habe den Auslöser, nicht aber die Ursache: ich arbeite mit skalierten Forms und benutze dazu eine Kompo (TFormresizer), die ich mal bekommen und für meine Zwecke angepasst habe. Die verursacht das Problem. Warum, habe ich noch nicht verstanden.
Zitat:
VCL Komponente dynForm (TFormResizer) Delphi 7
-------------------------------------------------

Version 1.0 von Michael Kaliga, kaliga@freenet.de
nach einer Idee von David A. Price, dprice@erols.com (1999)

Eigenschaften:
dynForm passt alle Komponenten eines Formulares in der
Grösse und Position an, wenn die Formulargrösse verändert wird.

FormResizer1.InitializeForm scannt das Formular, legt in einer StringList
die Startwerte ab und erstellt Sicherungen von vorhandenen Grafiken:
Metafile's + Bitmap's, wobei Metafile's in Bitmaps konvertiert werden.

FormResizer1.InitializeForm berechnet die neuen Größen und Positionen der
einzelnen Komponenten aus den Startwerten (!!!) und passt die Form-Komponenten
dann an.
Da die Startwerte und nicht die aktuellen Größen verwendet werden, behält
das Formular immer sein Aussehen;
ein Zerreissen/Zerfleddern wie bei den Delphi-Funktionen ChangeScale und ScaleBy
entfällt also.


Anwendung:

1. dynForm auf dem Formular platzieren.
2. Im OnCreate-Ereignis des Form's die Initialisierung
aufrufen, z.B. FormResizer1.InitializeForm;
3. Im OnResize-Ereignis des Form's die Grössenanpassung
aufrufen, z.B. FormResizer1.ResizeAll;

In den Eigenschaften von "TFormResizer" kann man :
a.) Die Größenanpassung Ein/Aus-Schalten.
Dies ist Notwendig, um gezielt eigene Anpassungen vornehmen zu können.
b.) Die proportionale Größenanpassung Ein/Aus-Schalten.
c.) Die proportionale Größenanpassung am Minimum/Maximum anpassen.
d.) Die Mindest-Schriftgrösse einstellen.
e.) Die Maximal-Schriftgrösse einstellen.
FormResizer1.InitializeForm scannt das Formular, legt in einer StringList
die Startwerte ab und erstellt Sicherungen von vorhandenen Grafiken.

Ist AllowResize := true wird anschließend das Formular so skaliert, das
es genau wie zur Entwicklungszeit auf den Screen passt, also proportional
zur Bildschirmauflösung.

Ist AllowResize := false wird das Formular nicht skaliert, es behält die
gleiche Height / Width wie zur Entwicklungszeit !

Ist KeepProportional := true so wird das Formular immer proportional skaliert.
Ist KeepProportional := false so kann das Formular verzerrt skaliert werden.
Ist KeepPropToMin := true so wird das Formular immer proportional so skaliert, das es immer komplett sichtbar ist.
Ist KeepPropToMin := false so wird das Formular immer proportional so skaliert, das es die maximal Höhe/Breite ausnutzt.
FormResizer1.ResizeAll skaliert das Formular neu, z.B. wenn man mutwillig
bei AllowResize := false Größenänderungen vorgenommen hat.
Da steckt etwas drin, was mir etwas verdächtig aussieht:
procedure Notification(AComponent : TComponent; Operation : TOperation); override; Könnte sein, dass deshalb das update nicht klappt.

Grüße, Messie
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 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