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 Statusbar Panel (https://www.delphipraxis.net/96841-statusbar-panel.html)

Störtebeker 31. Jul 2007 17:52


Statusbar Panel
 
Ich habe ne Toolbar und möchte, wenn ich mit maus auf ein bestimmten button der toolbar gehe, dass dann im Panel der statusbar angezeigt, worum es sich handelt.

Wie kann ich die Panels der Statusbar ansprechen?

Delphi-Quellcode:
procedure TForm2.ToolButton2MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
Statusbar1.0 - TStatusPanel.text:='Neues Dokument';
end;
habe ich schon versucht. Aber ihn stört die 0 mit folgender meldung: "Identifier expected, but number found" und leider lassen sich die panels nicht umbenennen.

DeddyH 31. Jul 2007 18:00

Re: Statusbar Panel
 
Je nach Einstellung der Statusbar
Delphi-Quellcode:
Statusbar1.SimpleText := 'bla';
oder
Delphi-Quellcode:
Statusbar1.Panels[0].Text := 'bla';

Störtebeker 31. Jul 2007 18:04

Re: Statusbar Panel
 
soweit so gut. Jetzt muss ich es nur noch hinkriegen, dass der text auch wieder verschwindet, wenn den button verlasse.

shmia 31. Jul 2007 18:21

Re: Statusbar Panel
 
Ich würde nicht das Event OnMouseMove für diesen Zweck missbrauchen, sondern einen Hint eingeben und das Property ShowHint auf True setzen.
Nun erscheint das übliche, gelbe Hintfenster mit dem Hilfetext.
Zusätzlich kann man auch alle Hints zentral abgreifen und auf den Statusbar kopieren:
Delphi-Quellcode:
   Application.OnHint     := Self.HandleOnHint;      // Hinttexte in der Statusbar anzeigen
   Application.HintHidePause := 5000;                 // 5 Sek warten bis der Hint wieder verschwindet

procedure THauptForm.HandleOnHint(Sender: TObject);
begin
   StatusPanel1.SimpleText := Application.Hint;
end;

Störtebeker 31. Jul 2007 18:27

Re: Statusbar Panel
 
wo hast du denn den ersten teil des quelltextes untergebracht?

und zu dem anderen: HandleOnHint habe ich ja bei der Form nicht im OI. Also muss ich den extra hinzufügen, oder?

Dass mache ich doch, in dem ich unter Implmentation procedure Main.HandleOnHint(Sender: TObject); einfüge und dann später nochmal die gesamte Procedure, oder?

Störtebeker 31. Jul 2007 18:37

Re: Statusbar Panel
 
Die Lösung kann so einfach sein. :wall:

Zitat:

Für den Menüitem einen Hint eintragen, SimplePanel und AutoHint der Satausbar auf True setzen. Dann sollte es automatisch passieren


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 Uhr.

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