AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Maße eines noch nicht erzeugten Formulars erfragen?
Thema durchsuchen
Ansicht
Themen-Optionen

Maße eines noch nicht erzeugten Formulars erfragen?

Ein Thema von PeterPanino · begonnen am 13. Apr 2007 · letzter Beitrag vom 13. Apr 2007
Antwort Antwort
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#1

Maße eines noch nicht erzeugten Formulars erfragen?

  Alt 13. Apr 2007, 02:44
Wie kann man zur Laufzeit die Maße eines Formulars (Breite, Höhe) ermitteln, das zu diesem Zeitpunkt noch nicht erzeugt wurde, aber natürlich zur Entwurfszeit im Formdesigner definiert wurde? (Ohne diese Werte manuell im Programm hartkodieren zu müssen).
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Maße eines noch nicht erzeugten Formulars erfragen?

  Alt 13. Apr 2007, 08:41
Wenn es noch nicht erzeugt wurde (keine Instanz existiert), dann könntest du höchstens die entsprechende Resource auslesen und darin die Werte suchen.
Wo sollen denn sonst die Werte herkommen, wenn sie noch nicht geladen wurden?

Also entweder selber laden+raussuchen, oder eben erstmal eine Instanz erzeugen und dort auslesen.



Das mit dem selber die Resource laden und reinsehn geht aber nicht immer, denn wenn Form.Position =
poDesigned: dann stimmen die Werte aus der Resource (?)
po**Center: hier mußt du die Position selber ausrechnen
poDefault und poDefault**Only: da legt Windows beim erstellen Werte von sich aus fest, welche du vorher nicht erfährst

bei Form.Scaled = True wird das Fenster unter Umständen auch noch scaliert, wobei sich da wiederum Werte ändern können
...
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Maße eines noch nicht erzeugten Formulars erfragen?

  Alt 13. Apr 2007, 09:54
Vielleicht reicht's ja auch, wenn du an der Stelle, wo du die Maße brauchst, die Form zwar erzeugst, aber noch nicht anzeigst.

Uli.
Uli Gerhardt
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Maße eines noch nicht erzeugten Formulars erfragen?

  Alt 13. Apr 2007, 11:44
Zitat von himitsu:
Das mit dem selber die Resource laden und reinsehn geht aber nicht immer, denn wenn Form.Position =
poDesigned: dann stimmen die Werte aus der Resource (?)
po**Center: hier mußt du die Position selber ausrechnen
poDefault und poDefault**Only: da legt Windows beim erstellen Werte von sich aus fest, welche du vorher nicht erfährst
bei Form.Scaled = True wird das Fenster unter Umständen auch noch scaliert, wobei sich da wiederum Werte ändern können
...
Es geht mir nicht darum, wie die Maße des Fensters zur Laufzeit wären, sondern wie die Maße des Fensters zur Entwurfszeit waren.

Wäre es z.B. nicht möglich, den Compiler dazu zu bringen, die Höhe und Breite des Fensters in zwei Konstanten zu schreiben?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: Maße eines noch nicht erzeugten Formulars erfragen?

  Alt 13. Apr 2007, 11:50
Achso ... naja, wie gesagt, das Forumlar liegt als Resource in deiner Exe rum ... Form.Create läd ja auch nur diese Resource und stellt danach die Form her.

Dieses kannst du auch selber machen (diese Resource laden).

Ansonsten wäre es bestimmt möglich (mit etwas/viel Aufwand) sich was zu schreiben, welches sich z.B. über die Hier im Forum suchenOpenToolsAPI in Delphi einnistet und sowas für dich macht.
$2B or not $2B
  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 18:40 Uhr.
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