TButton Caption Problem

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben
Antworten
siro
Beiträge: 730
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

TButton Caption Problem

Beitrag von siro »

Guten Morgen zusammen,

mir ist eben etwas aufgefallen bei meiner Komponente
und während ich etwas experimentiere, stellte ich fest, dass dieses Problem auch bei der
Komponente TButton existiert.

Wenn man Caption im Entwurfsmodus ändert, dann wird der Text nicht direkt übernommen (sichtbar) irgendwo fehlt hier meiner Meinung nach ein Invalidate
nach einer Tastatureingabe.
Der Text aus Caption wird erst übernommen wenn ich die Enter Taste drücke bzw. in ein Feld einer anderen Eigenschaft klicke.
Ist kein Weltuntergang, wundert mich nur....

In meiner Komponente passiert dies auch, die habe ich abgeleitet von TCustomControl.

Bei TLabel oder TToggleBox funktioniert es jedoch richtig.

Siro

Windows 10 64 Bit
Lazarus 2.0.8
FPC 3.0.4
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: TButton Caption Problem

Beitrag von theo »

siro hat geschrieben:
So 28. Jun 2020, 07:46
Bei TLabel oder TToggleBox funktioniert es jedoch richtig.
Naja, was heißt schon "richtig". Es funktioniert ja.
Dass es nicht einheitlich funktioniert (Label, Button), ist ein bisschen unglücklich.
Ich weiß auch nicht, warum das so ist.

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: TButton Caption Problem

Beitrag von Winni »

Hi!

Das ist schon seit Delphi 1 derart inkonsistent.

Vielleicht ist das der Hintergrund:

Turbo Pascal für Windows war ein Flop.
Da musste man sich aber auch die Finger abbrechen, bis man endlich ein Fenster auf dem Desktop hatte.
Also musste Delphi 1 zügigst in den Verkauf gebracht werden.
Da war dann nicht mehr viel Zeit für Design.
Hauptsache das Zeugs funktionierte.

Winni

siro
Beiträge: 730
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: TButton Caption Problem

Beitrag von siro »

Erst einmal Danke für eure Antworten,

@Winni:
ja Turbo Pascal für Windows bzw. Borland Pascal hatte ich mir damals noch für VIEL Geld gekauft, mit gefühlten 10 Kilo Handbüchern.
Das war dann auch das Ende für mich mit Pascal. Auf Windows API Ebene rumstochern...nein Danke....

Irgdendwann kam ich dann auf Delphi 3, später Delphi 6, das hat dann wirklich Spass gemacht und danach war LANGE Pause
bis ich durch Zufall Lazarus entdeckte.

Mit den kleinen Ungereimtheiten, wie hier beim Caption, kann man aber Leben, das soll nun wirklich kein Problem darstellen.

Siro
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: TButton Caption Problem

Beitrag von wp_xyz »

siro hat geschrieben:
So 28. Jun 2020, 16:48
Mit den kleinen Ungereimtheiten, wie hier beim Caption, kann man aber Leben, das soll nun wirklich kein Problem darstellen.
Wobei das hier mit den Button-Caption noch das kleinste Problem darstellt. Was mich mehr stört, sind die Inkonsistenzen mit den Events: Warum wird manchmal OnChange ausgelöst, manchmal OnClick, manchmal beides, manchmal bei der Änderung durch den User, manchmal auch bei Änderung im Code? Da hatte offenbar vor allem schon bei Delphi jeder Entwickler seine eigenen Vorlieben, und es gab keine Qualitätskontrolle, so dass sowas aufgefallen wäre. Und Lazarus musste das unter dem Zwang zur Delphi-Kompatibilität nachmachen.

siro
Beiträge: 730
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: TButton Caption Problem

Beitrag von siro »

Achso, einige Probleme sind der "Kompatibilität" geschuldet .
Ich wunderte mich schon, warum man das noch nicht verbessert hat.... :roll:
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: TButton Caption Problem

Beitrag von fliegermichl »

Also ich hab's eben mal ausprobiert. Bei Delphi 5 wird der Wert direkt beim eintippen angezeigt und zwar sowohl bei TButton als auch bei TBitBtn.

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: TButton Caption Problem

Beitrag von Winni »

Na, da hat Borland doch seinerzeit noch jemanden für
die Kosmetik eingestellt!

Wusste ich nicht.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: TButton Caption Problem

Beitrag von wp_xyz »

fliegermichl hat geschrieben:
Mo 29. Jun 2020, 12:21
Also ich hab's eben mal ausprobiert. Bei Delphi 5 wird der Wert direkt beim eintippen angezeigt und zwar sowohl bei TButton als auch bei TBitBtn.
Gut, dann müsste es eigentlich auch bei Lazarus so funktionieren. Kannst ja mal einen Bug-Report schreiben, vielleicht fühlt sich jemand zuständig (erwähne das Reizwort "Delphi compatibility", um nachzuhelfen).

Außeren "Nicht drangedacht" könnte ich mir - ins Blaue geraten - einen Grund vorstellen, warum es nicht gemacht wurde. Im Unterschied zu Delphi hat Lazarus beim TButton auch eine Eigenschaft "AutoSize", die extrem praktisch ist. Wenn nun "AutoSize" true ist, dann muss beim Eintippen sich der Button automatisch der Länge des Textes anpassen, und wenn andere Controls mit dem Button verankert sind, dann müssen sich diese mit dem längeren Button neu positionieren. Ich weiß, bei TLabel funktioniert das, aber TButton ist etwas komplexer, und vielleicht macht das da zuviel Aufwand oder Geflackere - keine Ahnung. Zumindest sind AutoSize und Control-Positionierung mit das Komplizerteste was ich innerhalb der LCL gesehen habe.
Zuletzt geändert von wp_xyz am Mo 29. Jun 2020, 16:09, insgesamt 1-mal geändert.

Antworten