Delphi-PRAXiS

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 MainMenu Help (https://www.delphipraxis.net/9265-mainmenu-help.html)

DaBass 22. Sep 2003 12:12


MainMenu Help
 
Also, ich habe folgendes Problem, bzw. folgende Frage:

Ich habe ein MainMenu mit X-Menupunkten darin.

jetzt möchte ich, dass wenn ein Menü angewählt wird, dass in meiner StatusBar einen kleinen Help text erscheint.

Da die einzelnen Menüpunkte kei OnMouseOver Ereignis haben, weiss ich nicht wie ich das tun soll... kann mir jemand weiter helfen??

neolithos 22. Sep 2003 12:37

Re: MainMenu Help
 
Application.OnHint setzen (alternativ TApplicationEvents verwenden)

und dort drinnen die Appliction.Hint eigenschaft in die StatusBar setzen.

r_kerber 22. Sep 2003 12:51

Re: MainMenu Help
 
Hallo DaBass,
zunächst trägst Du für jeden Menüpunkt etwas in die Eigenschaft Hint ein. Dann setzt in der Statusbar, die Eigenschaft AutoHint auf true.

DaBass 22. Sep 2003 15:14

Re: MainMenu Help
 
ich schaff das irgendwie nicht.. :-(

wenn ich die eigenschaften so einstelle passiert nichts.

liegt das daran, das ich in der Statusbar Panels habe??
schliesslich kann ich nirgends definieren, in welchem Panel es angezeigt werden soll...

es soll in dieses panel geschrieben werden:
Delphi-Quellcode:
StateBar.Panels[1].Text

Luckie 22. Sep 2003 15:32

Re: MainMenu Help
 
Das geht nur, wenn die Statusbar keine Panels hat, sondern der Stil auf SimpleText steht.

DaBass 22. Sep 2003 16:11

Re: MainMenu Help
 
habe in der zwischenzeit schon eine Lösung gefunden, die auch mit Panels funktioniert:

Delphi-Quellcode:
type
  TmainForm = class(TForm)
    procedure FormShow(Sender: TObject);
    procedure DisplayHint(Sender: TObject);
  end;

var
  mainForm: TmainForm;

implementation


procedure TmainForm.Create(Sender: TObject);
begin
  ...
  Application.OnHint := DisplayHint;
  ...
end;

procedure TmainForm.DisplayHint(Sender: TObject);
begin
  StateBar.Panels[1].Text := GetLongHint(Application.Hint);
end;
Die Eigenschaft ShowHint von TmainForm muss zusätzlich noch auf True gesetzt werden.
Danach kann man bei Beliebigen Elementen die Eigenschaft Hint := 'help' setzen und es wird angezeigt.

@luckie, r_kerber & neolithos: Trotzdem herzlichen Dank!

tuxic 30. Apr 2004 22:40

Re: MainMenu Help
 
Zitat:

Zitat von r_kerber
Hallo DaBass,
zunächst trägst Du für jeden Menüpunkt etwas in die Eigenschaft Hint ein. Dann setzt in der Statusbar, die Eigenschaft AutoHint auf true.

kleiner Nachtrag für die Nachwelt :)
die Eigenschaft ShowHint von der entsprechenden Form muss auf true sein...


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz