AGB  ·  Datenschutz  ·  Impressum  







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

Fenstergröße anpassen?

Offene Frage von "rokli"
Ein Thema von Lerbermatt · begonnen am 6. Apr 2017 · letzter Beitrag vom 6. Apr 2017
Antwort Antwort
nahpets
(Gast)

n/a Beiträge
 
#1

AW: Fenstergröße anpassen?

  Alt 6. Apr 2017, 15:07
Bei OnCanResize kann man angeben, ob sich die Größe des Fensters weiter ändern darf.

Resize := true bzw. Resize := False;

Wenn etwas direkt bei der Größenänderung abgearbeitet werden soll, muß man OnResize verwenden.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Fenstergröße anpassen?

  Alt 6. Apr 2017, 15:15
Herzlich willkommen erst mal.

Ein Problem ist wohl auch, dass die Maus ja an der ursprünglichen Stelle bleibt und die Formulargröße sich dann wieder an der Mausposition ausrichten wird.

Es kann auch sein, dass die Größenänderung in FormCanResize wieder diese Ereignisbehandlung aufruft - also ein wiederholter Kreislauf entsteht.
Das müsste man ggf. mal z.B. mit OutputDebugString loggen.

Evtl. könnte man auch einen Timer starten, der die Größenanpassung etwa 1 Sekunde nach der letzten Mausschubserei durchführt.
Dann könnte man die Größe nach Wunsch einstellen und kurz danach wird das Seitenverhältnis korrigiert.

So eine unübliche Verfahrensweise kann aber auch dazu führen, dass die Nutzer dieses eher ablehnen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
rokli

Registriert seit: 21. Mär 2009
Ort: Rödinghausen
302 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Fenstergröße anpassen?

  Alt 6. Apr 2017, 15:23
Hallo Lebermatt,

neben dem Hinweis das im OnResize zu erledigen, musst Du den berechneten Wert auch noch der Breite (Form.Width) zuweisen.

Form.Width   := ROUND(Form.Height * 1.3);
Außerdem kannst Du die Form, z. B. mit der Maus, dann nur noch in der Höhe ändern. Wenn Du die Breite mit der Maus ziehst, schlägt OnResize wieder zu und passt die Breite wieder auf das vorgegebene Verhältnis an.

Gruß
Rolf
wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 08:19 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