TToolButton zeigt keinen Hint

Rund um die LCL und andere Komponenten

TToolButton zeigt keinen Hint

Beitragvon Timm Thaler » 15. Jan 2019, 02:10 TToolButton zeigt keinen Hint

Obwohl im Formulareditor für ToolButtons ein Hinttext angegeben und ShowHint enabled ist, wird bei den ToolButtons kein Hint angegeben. Im Formular sind die Eigenschaften aber gesetzt:
Code: Alles auswählen
    object tIDsingle: TToolButton
      Left = 32
      Hint = 'Einzelmessung'
      Top = 2
      Caption = 'Einzel'
      ImageIndex = 1
      MenuItem = mIDsingle
      ParentShowHint = False
      ShowHint = True
    end

Es ist auch egal, ob ParentShowHint true oder false ist.

Setze ich aber später im Programm nochmal zum Test den Hinttext, wird er für diesen ToolButton angezeigt:
Code: Alles auswählen
    tIDsingle.Hint := 'Test Einzelmessung';

Was muss ich angeben, damit die im Formulareditor angegebenen Hints für alle ToolButtons angezeigt werden?
Timm Thaler
 
Beiträge: 874
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon Michl » 15. Jan 2019, 09:28 Re: TToolButton zeigt keinen Hint

Hier geht es es auch, wenn man den Hint per ObjectInspektor setzt (Lazarus Trunk, Windows 7). Welche Lazarusversion nutzt du unter welchem OS/Widgetset? Kannst du ein Minimalbsp posten?
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2320
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon sstvmaster » 15. Jan 2019, 09:44 Re: TToolButton zeigt keinen Hint

jein, sobald man MenuItem setzt geht der Hint nicht mehr, wenn man aber im zugeordneten MenuItem den Hint setzt erscheint der.

Laz 1.8.4
sstvmaster
 
Beiträge: 172
Registriert: 22. Okt 2016, 22:12
OS, Lazarus, FPC: Windows 7 32bit (L 2.0.0 FPC 3.0.4) | 
CPU-Target: 32Bit
Nach oben

Beitragvon Michl » 15. Jan 2019, 09:49 Re: TToolButton zeigt keinen Hint

Stimmt, dann wird der Hint vom MenuItem genommen.
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2320
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon Timm Thaler » 15. Jan 2019, 13:03 Re: TToolButton zeigt keinen Hint

Darauf muss man erstmal kommen: Einen Hint im Menuitem setzen, damit er in der Toolbar erscheint.

Wozu braucht man Hints im Menu? Bei mir wird da nichts angezeigt.

Ich bin mehr und mehr dran, den Formulareditor in die Tonne zu kloppen und die GUI im Programm aufzubauen.
Timm Thaler
 
Beiträge: 874
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon wp_xyz » 15. Jan 2019, 13:11 Re: TToolButton zeigt keinen Hint

Timm Thaler hat geschrieben:Obwohl im Formulareditor für ToolButtons ein Hinttext angegeben und ShowHint enabled ist, wird bei den ToolButtons kein Hint angegeben. Im Formular sind die Eigenschaften aber gesetzt:
Code: Alles auswählen
    object tIDsingle: TToolButton
      Left = 32
      Hint = 'Einzelmessung'
      Top = 2
      Caption = 'Einzel'
      ImageIndex = 1
      MenuItem = mIDsingle
      ParentShowHint = False
      ShowHint = True
    end

Es ist auch egal, ob ParentShowHint true oder false ist.

Setze ich aber später im Programm nochmal zum Test den Hinttext, wird er für diesen ToolButton angezeigt:
Code: Alles auswählen
    tIDsingle.Hint := 'Test Einzelmessung';

Was muss ich angeben, damit die im Formulareditor angegebenen Hints für alle ToolButtons angezeigt werden?

Sorry, was ist der "Formulareditor"? Editierst du Properties etwa im Quelltext der lfm-Datei? So ist das nicht gedacht. Das Risiko, etwas kaputt zu machen, ist hier viel zu groß!
wp_xyz
 
Beiträge: 2863
Registriert: 8. Apr 2011, 08:01

Beitragvon Michl » 15. Jan 2019, 13:35 Re: TToolButton zeigt keinen Hint

Timm Thaler hat geschrieben:Darauf muss man erstmal kommen: Einen Hint im Menuitem setzen, damit er in der Toolbar erscheint.
Ehrlich gesagt würde ich keine MenuItems zuweisen. Wenn du bestimmte gleiche Aktionen für ein MenuItem oder ein ToolButton verwenden willst, nimm doch auch gleich die dafür gedachte Komponente TAction. Dort kannst du ebenfalls den Hint definieren, der dann entsprechend verwendet wird.

Timm Thaler hat geschrieben:Darauf muss man erstmal kommen: Einen Hint im Menuitem setzen, damit er in der Toolbar erscheint.
Ich bin mehr und mehr dran, den Formulareditor in die Tonne zu kloppen und die GUI im Programm aufzubauen.
Ja, wenn ich an größeren Projekten arbeite, mache ich die meisten Zuweisungen dynamisch. Das ist zwar am Anfang etwas mehr Schreibarbeit, später finde ich aber die Ursachen warum etwas wie funktioniert viel viel schneller (quasi auf einem Blick).

Gerade habe ich bei einem Projekt auf einem alten Frame einen zusätzlichen Button eingefügt. Da die Buttons je nach Zustand eines Datenbankeintrage variieren, habe ich einfach im Suchfenster nach einem sich ähnlich verhaltenden früher eingefügten Button gesucht und bin den Quelltext von unten nach oben durchgegangen und habe einfach alle Einträge für den neuen Button identisch gemacht. Eine Sache von einer Minute. Müsste ich alle Einstellungen im ObjektInspektor suchen, dauert das viel länger und die Gefahr etwas zu übersehen ist erheblich größer.
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2320
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon Michl » 15. Jan 2019, 13:41 Re: TToolButton zeigt keinen Hint

wp_xyz hat geschrieben:Sorry, was ist der "Formulareditor"
Na ich denke der Editor für ein Formular bei Lazarus. Ein gedockter FormEditor ist z.B. der SpartaDockedFormEditor.
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2320
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon wp_xyz » 15. Jan 2019, 14:03 Re: TToolButton zeigt keinen Hint

Irgendwas stimmt mit den Hints der Toolbuttons trotzdem nicht. Die beigefügte Demo enthält eine Toolbar rechts mit drei Toolbuttons. Fährt man mit der Maus über die Buttons kommt ein Hint, aber es erscheint immer der Hint des 1. (obersten) Buttons, zumindest unter Windows. Das sollte so nicht sein, und ich habe es in anderen eigenen Programmen so auch noch nciht geseshen. (Aber da verwende ich immer Actions.)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
wp_xyz
 
Beiträge: 2863
Registriert: 8. Apr 2011, 08:01

Beitragvon wp_xyz » 15. Jan 2019, 14:06 Re: TToolButton zeigt keinen Hint

Timm Thaler hat geschrieben:Was muss ich angeben, damit die im Formulareditor angegebenen Hints für alle ToolButtons angezeigt werden?

Hast du im Formular ShowHint gesetzt? Das ist der General-Schalter.
wp_xyz
 
Beiträge: 2863
Registriert: 8. Apr 2011, 08:01

Beitragvon Michl » 15. Jan 2019, 14:51 Re: TToolButton zeigt keinen Hint

@wp: ich habe mir eben das Projekt angesehen. Warum sollte ein anderer Hint kommen, als der im Objektinspektor angegebene? Da steht drei mal "Hint Button 1" drin, MenuItems bwz. Actions sind nicht gesetzt. Wenn man diese Hints ändert, werden sie entsprechend angezeigt. Verstehe nicht, was genau du meinst?
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2320
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon Timm Thaler » 15. Jan 2019, 16:00 Re: TToolButton zeigt keinen Hint

wp_xyz hat geschrieben:Sorry, was ist der "Formulareditor"?


Der "Designer", und die Eigenschaften geändert im "Objektinspektor" unter "Eigenschaften".

Den Code aus der lfm hab ich nur gepostet, weil man da die gesetzten Eigenschaften sieht.

wp_xyz hat geschrieben:Hast du im Formular ShowHint gesetzt?


Sowohl im Formular als auch für die ToolBar als auch für den ToolButton.

Der Hint wird ja auch gezeigt, wenn ich im Programm nochmal toolbutton.Hint zuweise, ohne ein extra ShowHint. Aber anscheinend wird bei ToolButton mit Verknüpfung auf MenuItem der Hint vom MenuItem verwendet, und da stand nix drin. Wobei ich immer noch nicht verstehe, wozu ein MenuItem einen Hint hat.
Timm Thaler
 
Beiträge: 874
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon wp_xyz » 15. Jan 2019, 16:05 Re: TToolButton zeigt keinen Hint

Michl hat geschrieben:@wp: ich habe mir eben das Projekt angesehen. Warum sollte ein anderer Hint kommen, als der im Objektinspektor angegebene? Da steht drei mal "Hint Button 1" drin, MenuItems bwz. Actions sind nicht gesetzt. Wenn man diese Hints ändert, werden sie entsprechend angezeigt. Verstehe nicht, was genau du meinst?

:oops: Ich glaube, das war der alte Fehler: Wenn man im OI eine Eigenschaft ändert muss man unbedingt ENTER drücken, damit sie übernommen wird, und nicht nur eine andere Eigenschaft anklicken. Ich hatte, nach Eingabe des Hints für den 1.Butten, den Text in den Hint des 2.Buttons kopiert, die 1 gegen die 2 ausgetauscht und dann, um dasselbe zu wiederholen. den 3. Hint angeklickt, ohne ENTER zu drücken.
wp_xyz
 
Beiträge: 2863
Registriert: 8. Apr 2011, 08:01

• Themenende •

Zurück zu Komponenten und Packages



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried