Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TMainmenue: Hint wird nicht angezeigt. (https://www.delphipraxis.net/79369-tmainmenue-hint-wird-nicht-angezeigt.html)

Go2EITS 21. Okt 2006 13:40

Re: TMainmenue: Hint wird nicht angezeigt.
 
@Luckie: Danke! CU!

Go2EITS 25. Sep 2007 11:23

Re: TMainmenue: Hint wird nicht angezeigt.
 
Alter Thread, aber das Problem war nicht gelöst.
Die noch nicht ganz vollständige Lösung zeigt nun die Hints von TMainMenue in der Statuszeile an:
(Es fehlte ein Applikation.ShowHint:=True im Code.)

Delphi-Quellcode:
// Oben im Hauptformular
type
  TMainForm = class(TForm)
  // ...
  public
    procedure DisplayHint(Sender: TObject);
  end;

// Implementierung
procedure TMainForm.DisplayHint(Sender: TObject);
begin
  if Application.Hint <> '' then
  begin
    StatusBar.SimplePanel := True;
    StatusBar.SimpleText := Application.Hint;
  end
  else
    StatusBar.SimplePanel := False;
end;

// Zuweisung
procedure TMainForm.FormCreate(Sender: TObject);
begin
  // ...
 // Ergänzung:
 Applikation.ShowHint:=True;
 Application.OnHint := DisplayHint;
  // ...
end;
Weitere Eigenschaften und Methoden bei Hints finden sich in der Hilfe unter Application...

Weiterhin besteht das Problem:
Die obenstehende Lösung zeigt jedoch erst die Hints in der Statuszeile an, nachdem auf einen Eintrag (TMenueItem) im TMainmenue geklickt habe. Erst dann zeigen sich auch die anderen Hints in der Statuszeile.
Auch mein erster Eintrag im TMainMenue mit z. B. &Backup wird im Editor mir Unterstrich beim B korrekt angezeigt, jedoch bei der Programmausführung nicht. Lästig!
Eine MouseOver-Eigenschaft könnte zumindestens die Hint-Problematik lösen. Diese Eigenschaft gibt es allerdings unter TMainmenue nicht.

Beste Grüße an die DP!
Go2EITS

Flocke 29. Sep 2007 15:05

Re: TMainmenue: Hint wird nicht angezeigt.
 
Hallo Go2EITS,

das erste Problem kann ich nur nachvollziehen, wenn es sich um Top-Level-Einträge im Menü handelt. In diesem Fall "schwebst" du mit der Maus über dem angezeigten Menüeintrag und es wird kein Hint angezeigt. Das ist meiner Meinung nach immer so, weil das Menü noch nicht aktiviert ist, und lässt sich auf einfache Weise nicht ändern. Du könntest höchstens einen Ersatz nehmen wie z.B. eine Toolbar (oder eine TBX-Toolbar) im Menümodus.

Zur Toolbar ein schnellen Tipp:
1. Packe einfach ein TToolbar auf deine Form
2. Setze die Eigenschaft "Menu" der Toolbar auf dein Hauptmenü
3. Lösche die Eigenschaft "Menu" der Form
Aber Vorsicht: die Einträge des Menüs werden nur kopiert, wenn du später etwas daran änderst (Enabled, Visible), dann hat das keine Auswirkungen auf die Toolbar-Buttons (außer du nimmst Actions).

Dein zweites Problem tritt bei neueren Windows-Versionen auf: hier werden die Tastenkürzel (&) erst angezeigt, nachdem man die ALT-Taste gedrückt hat. Auch das ist so gewollt (ein Feature und kein Bug), allerdings würde der Trick mit der Toolbar auch das lösen.

Go2EITS 30. Sep 2007 07:44

Re: TMainmenue: Hint wird nicht angezeigt.
 
Hallo Flocke!

besten Dank für Deine Antwort. Das mit dem Menueeintrag habe ich auch so erkannt. Nachdem man auf ein Eintrag gedrückt hat, erscheinen bei schwebender Maus über den Menueeinträgen die Hints in der Statusbar. Die ist natürlich ein nicht hinzunehmender Umstand, wenn man Hints anzeigen möchte. Ich werde die TToolbar und die Actions mal ausprobieren.

Das zweite Problem hat mich einige Zeit gekostet. Danke für den Hinweis und die wichtigen Informationen. :thumb:

Beste Grüße
Go2EITS


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr.
Seite 2 von 2     12   

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 by Thomas Breitkreuz