AGB  ·  Datenschutz  ·  Impressum  







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

Abgeleiteter TButton mit Delphi Styles nicht richtig

Ein Thema von Rolf Frei · begonnen am 19. Jun 2022 · letzter Beitrag vom 20. Jun 2022
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.664 Beiträge
 
Delphi 12 Athens
 
#1

AW: Abgeleiteter TButton mit Delphi Styles nicht richtig

  Alt 20. Jun 2022, 13:32
Was meinst du genau? Die Implementierung des TextAlign Features in der TButton Basisklasse oder was anderes?
Bezieht sich die Frage auf den QP-Eintrag?
In dem Fall würde ich TextAlign und TextVAlign als zusätzliche Features für TCustomButton/TButton vorschlagen.

Bei FMX gibt es das ja schon in TTextSettings. Dort sind es HorzAlign und VertAlign jeweils mit den Werten Center, Leading und Trailing, wobei mich die Benennung hier nicht so ganz überzeugt.

Interessanterweise gibt es das innerhalb der VCL-Styles in StyleAPI.inc auch schon:
Delphi-Quellcode:
  TSeTextAlign = (taTopLeft, taTopCenter, taTopRight, taLeft, taCenter,
    taRight, taBottomLeft, taBottomCenter, taBottomRight);
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
655 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Abgeleiteter TButton mit Delphi Styles nicht richtig

  Alt 20. Jun 2022, 14:42
BS_CENTER ist deklariert als 768, was hex $300 entspricht. Das ist dasselbe wie BS_LEFT or BS_RIGHT .

Das gilt übrigens auch für BS_VCENTER = 3072 = $C00 = BS_TOP or BS_BOTTOM .
Ja das ist mir schon klar, habe das ja selber schon geschrieben. Die Abfrage in den Styles ist dann aber doch falsch. Da müsste dann unterschieden werden ob es zentriert ist, also auch BS_RIGHT gesetzt ist. Also eine einfache Abfrage mit "Style AND BS_LEFT = BS_LEFT" müsste dann doch "(Style AND BS_LEFT = BS_LEFT) AND (Style AND BS_RIGHT = 0)" sein oder einfacher "Style AND BS_CENTER = BS_LEFT" damit das wirklich richtig ist oder nicht?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.664 Beiträge
 
Delphi 12 Athens
 
#3

AW: Abgeleiteter TButton mit Delphi Styles nicht richtig

  Alt 20. Jun 2022, 16:49
Die Abfrage in den Styles ist dann aber doch falsch. Da müsste dann unterschieden werden ob es zentriert ist, also auch BS_RIGHT gesetzt ist.
Stimmt - der Code ist nicht korrekt. Fällt halt bisher nicht auf, da es ja aktuell kein TextAlign bei einem Button gibt. Die VCL setzt ja weder BS_LEFT noch BS_RIGHT oder gar BS_CENTER und somit führt der Code im Stylehook immer zu einem LTextFlags := LTextFlags or DT_CENTER .
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 01:00 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