AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi falsche Werte für Width und Height nach Maximieren der Form
Thema durchsuchen
Ansicht
Themen-Optionen

falsche Werte für Width und Height nach Maximieren der Form

Ein Thema von ConstantGardener · begonnen am 22. Dez 2008 · letzter Beitrag vom 22. Dez 2008
Antwort Antwort
ConstantGardener

Registriert seit: 24. Jan 2006
Ort: Halberstadt
375 Beiträge
 
Delphi 10.4 Sydney
 
#1

falsche Werte für Width und Height nach Maximieren der Form

  Alt 22. Dez 2008, 07:44
Hallo Jungs und Mädels,

ich bin gerade dabei einer meiner Apps den letzten Schliff zu geben. Ich passe bei diversen Grids (Draw-, String- und DBGrids) dynamisch zur Laufzeit die Spaltenbreiten an die Formgröße an. Die Grids werden per alTop oder alClient skaliert. Das klappt auch soweit ganz gut solange man per Maus die Formgröße verändert. Einziger Knackpunkt ist das Maximieren bzw. wieder kleiner machen der Form. Hier wird zwar ein onResize gefeuert jedoch sind die Größen des Forms nicht korrekt. Dadurch schlägt das korrekte anpassen der Spaltenbreiten fehl.

Hat irgendwer eine Idee woher ich hier die richtige Formgröße bekomme ?? Beim manuellen Aufruf der Resizefunktion nach dem Maximieren stimmen die Werte dann wieder. Ich hatte allerdings keine Lust das Resize jedesmal per Timmer aufzurufen.


Danke schonmal für erhellende Hinweise

cg
Andreas Schachtner
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: falsche Werte für Width und Height nach Maximieren der F

  Alt 22. Dez 2008, 07:59
Noch mal zur Klärung, bitte:
Die Grids sind aligned (also mit Align <> alNone)? Du setzt dennoch deren width bzw. height?
Setzt Du dann auch eine der Größen, die eigentlich durch die aligned-property automatisch gesetzt wird?

Sherlock
Oliver
  Mit Zitat antworten Zitat
ConstantGardener

Registriert seit: 24. Jan 2006
Ort: Halberstadt
375 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: falsche Werte für Width und Height nach Maximieren der F

  Alt 22. Dez 2008, 08:24
Hallo Sherlock,

also die Grids sind aligned per alTop oder alClient. Die width und height Werte werden automatisch gesetzt. Ist ja auch ok. Was ich jetzt machen will ist das anpassen der Spaltenbreiten des Grids auf eine Gesamtbreite (Clientwidth-GetsystemMetrics (sm_CXYScroll)) sodass keine horizontale Scrollleiste mehr erscheint. Wenn ich jetzt im onResize des Grids oder des Forms oder eines Containers (Panel auf dem das Grid liegt) die Clientwidth des Grids abfrage stimmt diese Größe nicht. Das Skalieren geht also von den falschen Werten aus. Wenn ich das Resize danach per Button aufrufe stimmt der Wert.

cg
Andreas Schachtner
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: falsche Werte für Width und Height nach Maximieren der F

  Alt 22. Dez 2008, 08:31
Ah, ich verstehe...für das Anpassen der Spaötenbreite gibt es IMHO eine Property...aber vielleicht ist das eine Spezialität der Komponente, die ich einsetze. Ich find sie auch gerade nicht

Sherlock
Oliver
  Mit Zitat antworten Zitat
ConstantGardener

Registriert seit: 24. Jan 2006
Ort: Halberstadt
375 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: falsche Werte für Width und Height nach Maximieren der F

  Alt 22. Dez 2008, 09:31
Hallo Sherlock,

ja das ist bestimmt ein Property deiner Komponenten. Ich mach das zu Fuß mit den Standardcontrols. Ich hab den Fehler jetzt zumindest erstmal auf das DBGrid eingegenzt. Beim Drawgrid kommen die richtigen Werte an. Da beide auf verschiedenen Seiten eines PageControls liegen hab ich als Workaround erstmal die Clientwidth des DrawGrid missbraucht. Richtig ist das aber eigentlich nicht.
Der Fehler besteht weiterhin bei TPanel. Dort habe ich eine Art Zoomfunktion für ein TChart mit einem Image und einigen Shapes implementiert. Beim öffnen des Formulars will ich die gesamte Breite darstellen. Auch hier schlägt das Skalieren beim maximieren fehl da die Werte für Width und Height falsch sind. Beim zweiten Aufruf der Skalierung funkts.

Danke für deine Mühe und schöne Feiertage.

cu cg
Andreas Schachtner
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#6

Re: falsche Werte für Width und Height nach Maximieren der F

  Alt 22. Dez 2008, 10:31
Ich würde Setbounds überschreiben.
Andreas
Monads? Wtf are Monads?
  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 06:26 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