AGB  ·  Datenschutz  ·  Impressum  







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

Abmessungen von Elementen inkonsistent!?

Ein Thema von Keks · begonnen am 7. Okt 2011 · letzter Beitrag vom 8. Okt 2011
Antwort Antwort
Keks

Registriert seit: 25. Mai 2005
122 Beiträge
 
#1

Abmessungen von Elementen inkonsistent!?

  Alt 7. Okt 2011, 16:18
Mir ist aufgefallen, dass die Abmessungen von Elementen nicht konsistent umgesetzt sind.
Nachfolgend ein Beispiel unter Delphi XE.

TButton und TComboBox sind die Standard-Komponenten mit jeweils der Höhe von 21px (Height:=21).




Während die Combobox tatsächlich exakt 21px hoch ist, ist der Button nur 19px hoch.
Wie kommt es also, dass beide unterschiedlich hoch sind? Scheinbar wird beim Button ein nicht sichtbarer 1px-Rand miteinberechnet. Dieser wirkt sich sowohl auf die Abmessungen (Höhe/Breite) als auch auf die Positionierung aus (siehe blaue Hilfslinien).

Gibt es einen plausiblen Grund dafür? Oder gar eine Lösung?
So macht es das Gestalten von grafischen Oberflächen nicht gerade einfacher, wenn man exakt gleich große exakt ausgerichtete Elemente haben möchte.
Miniaturansicht angehängter Grafiken
delphi-height.png   delphi-height2.png  
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Abmessungen von Elementen inkonsistent!?

  Alt 7. Okt 2011, 16:27
Die entsprechenden Rändern wird über das Theming geregelt. Wenn hier ein Bild mit 1 Pixel (transparenten) Rand definiert ist dann scheint der Button kleiner zu sein obwohl das nicht der Fall ist.

Bis Delphi XE müsstest du dich bei MS beschweren welche ungünstigen Themes sie hier designed haben.
Ab XE2 kannst du das eingebaute Theming von Delphi verwenden - bis XE müsstest du dich mit VCLSkin, ElPack und Co. "begnügen" und dort passende Themes erstellen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Abmessungen von Elementen inkonsistent!?

  Alt 7. Okt 2011, 16:34
Oder das Theming abstellen.
Der alte 9x-Style paßte ja noch pixelgenau.


PS: Du könntest zwar den Button jeweils um 1 Pixel verschieben, aber dazu raten würde ich dir das besser nicht,
denn wen jemand sich ein eigenes Theme installiert, dann sieht die Sache schnell wieder ganz anders aus.
(das Windows-Theme kann der User ja austauschen)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Keks

Registriert seit: 25. Mai 2005
122 Beiträge
 
#4

AW: Abmessungen von Elementen inkonsistent!?

  Alt 7. Okt 2011, 22:45
Irgendwie voll doof...
Nun gut, muss man wohl irgendwie damit umgehen.
Auf jeden Fall danke Euch beiden!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Abmessungen von Elementen inkonsistent!?

  Alt 8. Okt 2011, 01:05
Zum Glück werden die Monitore ja immer hochauflösender ... somit fällt ein Pixel nicht mehr so sher auf, als wie damals, wo die noch Faustgroß waren
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
FredlFesl

Registriert seit: 19. Apr 2011
293 Beiträge
 
Delphi 2009 Enterprise
 
#6

AW: Abmessungen von Elementen inkonsistent!?

  Alt 8. Okt 2011, 10:11
Entweder, man positioniert pixelgenau im Designer. Dann würde ich aber nicht darauf wetten, das bei einem Theme-Wechsel immer alles noch so aussieht, wie erhofft.

Oder man berechnet die Positionen. Dann hat man mehr Arbeit, aber ist auf der sicheren Seite. Der Button ist mittig zum Editfeld zu positionieren.
Das Bild hängt schief.
  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 17:01 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