Einzelnen Beitrag anzeigen

Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#1

Darstellungsfehler von TButton & anderen Controls mit FMX

  Alt 1. Jan 2020, 16:58
Hallo,

wenn ich eine leere Firemonkey Anwendung erstelle und normale Buttons (TButton oder TSpeedButton) auf dem Form oder einem Layer wie TPanel, etc. platziere wird während der Laufzeit ein Strich links neben dem Button angezeigt wenn man mit der Maus über den Button fährt und ihn wieder verlässt. Selbigen Darstellungsfehler habe ich auch schon bei einem TListBoxItem bemerkt. Auch bei OnClick tritt der Fehler manchmal auf. Selten werden nach MouseOver und anschließenden Klick nach erneutem verlassen und überfahren des selben Buttons sogar 2 Striche nebeneinander dargestellt.

Ich habe die Buttons sowohl ohne Style, mit "toolbutton"-Style, anderen Delphi-eigene-Styles sowie selbst erstellten Styles getestet. Das macht aber keinen Unterschied. Das Problem tritt auch auf wenn man seine Styles nicht für die Plattform also Windows definiert sondern sie als "default"-Style speichert. Ebenso tritt der Fehler auf wenn ControlStyle auf Plattform gestellt wird.

Seltsamerweise tritt dieser Fehler nicht bei allen Buttons auf dem Form auf. Es sind fast immer nur die Buttons auf der linken Seite der Form betroffen. Manchmal die in der Mitte. Rechts werden die Buttons immer korrekt angezeigt.

Was auch komisch ist, ist das nach einem MouseOver über z. B. eine ComboBox die Buttons plötzlich wieder richtig dargestellt werden. Bis zum nächsten Button Hover.

Ich habe ein Demo-Programm inkl. Source und Screenshots dem Thread angehängt. In dieser Demo-Anwendung tritt der Fehler immer auf. Außerdem sind darin mehrere Versuche enthalten den Fehler mit Code zu beheben.

Tritt das Phänomen auch bei euch auf? Weiß jemand abhilfe?

Ich verwende Delphi 10.3.2 Community Edition auf Windows 7. Auf anderen Systemen habe ich das Demo-Programm noch nicht ausprobiert. Kann es mit meiner Grafikkarte oder den Treibern zu tun haben? Ich habe aber die neuesten Treiber installiert...

Form nach dem das Programm frisch gestartet wurde:
buttons-nach-programm-start.png

Form nach Mouse-Over über diverse Buttons:
buttons-nach-mouseover.png

Ich hoffe es gibt eine Lösung. Denn ein Programm das nicht mal einen simplen Button oder eine Liste richtig darstellen kann, kann ich weder zahlenden Kunden noch Usern meiner Free- und OpenSource-Projekte zumuten.

Schöne Grüße,
Andreas Lauß
Angehängte Dateien
Dateityp: zip ButtonAfterHoverProblem.zip (3,47 MB, 5x aufgerufen)
Andreas Lauß
Blog

Geändert von Andreas L. ( 1. Jan 2020 um 17:48 Uhr)
  Mit Zitat antworten Zitat