AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Hint des aktiven Controls in Statusbar

Ein Thema von mr_chrome · begonnen am 5. Okt 2004 · letzter Beitrag vom 5. Okt 2004
Antwort Antwort
Seite 1 von 2  1 2      
mr_chrome

Registriert seit: 30. Sep 2004
Ort: Markneukirchen
14 Beiträge
 
Delphi 7 Professional
 
#1

Hint des aktiven Controls in Statusbar

  Alt 5. Okt 2004, 10:26
Hallo,
hab' jetzt schon viel im Forum über Hints und der Statusbar gelesen, jedoch noch nicht die richtige Lösung für mein Problem gefunden, welches foglendes wäre:

Ich will, dass in der Statusbar meines Formulars, jeweils der Hint für das aktive Steuerelement
erscheint.
Ich erreiche den Effekt zwar, indem ich entsprechende Anweisungen bei OnEnter und OnExit der einzelnen
Steuerelemente ausführe, frage mich aber, ob es dafür nicht eine etwas elegantere Lösung gibt?

Viele Grüsse,
Thomas
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Hint des aktiven Controls in Statusbar

  Alt 5. Okt 2004, 10:34
Hi Thomas,

sieh dir mal die TApplicationEvents (Palette "Zusätzlich") an, diese kennt das Ereignis onHint. Vielleicht hilft dir das weiter.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Hint des aktiven Controls in Statusbar

  Alt 5. Okt 2004, 11:14
Moin!

Bei dem Formular mit der Statusbar im Public Bereich folgendes einfügen:
    Function ExecuteAction(Action: TBasicAction): Boolean; Override; Dann die Funktion vervollständigen lassen und dort dann folgenden Code hinein:
Delphi-Quellcode:
Function Tfrm_FBIIMainForm.ExecuteAction(Action: TBasicAction): Boolean;
Begin
  Result := False;

  If ( Action Is THintAction ) Then
  Begin
    Result := True;
    If ( THintAction(Action).Hint <> '' ) Then
      StatusBar1.SimpleText := THintAction(Action).Hint;
  End;
End;
/EDIT:
Hinweis:

1. meine Funktion klappt auch bei Delphi 4, der noch keine öffentliche TApplication Komponente hat.
2. meine Funktion zeigt nur die Hints des Formulares an und z.B. nicht die eines modalen Dialoges auf der Form, wie es bei Application->OnHint der Fall ist.

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.095 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: Hint des aktiven Controls in Statusbar

  Alt 5. Okt 2004, 11:20
Ich würde mal sagen, das ist in der Delphi-Hilfe ganz genau erklärt.

Delphi-Referenz durchsuchenTApplication.OnHint und dann das Beispiel dazu.
Felix Alter
Japanurlaub 2015
  Mit Zitat antworten Zitat
mr_chrome

Registriert seit: 30. Sep 2004
Ort: Markneukirchen
14 Beiträge
 
Delphi 7 Professional
 
#5

Re: Hint des aktiven Controls in Statusbar

  Alt 5. Okt 2004, 13:09
Hallo und Danke!
Leider funktioniert das was ich will immernoch nicht. Entweder stehe ich total auf dem Schlauch, oder ich habe es nicht richtig beschrieben.
Ich möchte nicht, dass eine Hilfe angezeigt wird, wenn ich mit der Maus über einem Steuerelement bin,
sondern wenn ein Steuerelement den Focus hat.

Die Sache mit dem Hint in der Statusbar, wenn die Maus über dem Steuerelement ist, bekomme ich hin, das ist kein Problem, nur eben, wenn ich z.B. Daten im Formular eingebe und nur mit der Tab-Taste von einem
Eingabefeld ins nächste hüpfe, hilft das nicht wirklich.

Thomas
Thomas
  Mit Zitat antworten Zitat
jackie
(Gast)

n/a Beiträge
 
#6

Re: Hint des aktiven Controls in Statusbar

  Alt 5. Okt 2004, 13:14
Hi!
Wenn ich mich nicht irre gibt es bei der Statusbar so etwas wie 'AutoHint'. Setz es auf True.
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.095 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

Re: Hint des aktiven Controls in Statusbar

  Alt 5. Okt 2004, 13:17
Mach es doch einfach über OnEnter:

Delphi-Quellcode:
{ Pseudocode }
procedure TMainForm.EnterEvent(Sender: TObject);
begin
  //Alle Komponenten haben das hier als OnEnter
  
  if Sender is TControl {oder ab wo es Hint gibt} then
    StatusBar.Panels[2].Text := TControl(Sender).Hint
  else
    StatusBar.Panels[2].Text := '';
end;
Felix Alter
Japanurlaub 2015
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.095 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#8

Re: Hint des aktiven Controls in Statusbar

  Alt 5. Okt 2004, 13:25
So, jetzt ist es getestet!!!

Delphi-Quellcode:
procedure TForm1.EnterEvent(Sender: TObject);
begin
  if Sender is TControl then
    StatusBar.Panels[2].Text := TControl(Sender).Hint
  else
    StatusBar.Panels[2].Text := '';
end;
Felix Alter
Japanurlaub 2015
  Mit Zitat antworten Zitat
mr_chrome

Registriert seit: 30. Sep 2004
Ort: Markneukirchen
14 Beiträge
 
Delphi 7 Professional
 
#9

Re: Hint des aktiven Controls in Statusbar

  Alt 5. Okt 2004, 13:26
Mit OnEnter ist es ja auch kein Problem (hab' ich ja im ersten Beitrag schon versucht zu erklären),
nur muss ich es dann eben, wie du ja auch schreibst, bei jedem Steuerelement im OnEnter-Ereignis ausführen - und ich dachte, dass es da vielleicht eine bessere Lösung gibt.
Alcaeus hat micht auf die TApplicatonEvents gebracht, da gibt es das Ereignis OnShortCut, mit dem
ich einen akzeptabeln Kompromiß hinbekommen würde.

Danke nochmal an alle,
Thomas
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.095 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#10

Re: Hint des aktiven Controls in Statusbar

  Alt 5. Okt 2004, 13:32
Du hast gesagt, dass du OnEnter UND OnExit nimmst, ich denke, das OnExit ist nicht nötig.

Außerdem, aber man kann sich ja irren, dahcte ich, du hättest unzählige procedures verwendet für dein OnEnter, bei mir reicht eine.

Ansonsten weiß ich nicht, wozu man TApplicationEvents braucht, Das gibt es doch alles schon bei TApplication, und davon hat man sowieso schon eine Instanz. Noch eine von TApplicationEvents erstellen - wozu?

Und ob das OnEnter nun auf nil zeigt oder nicht ist doch egal

Warum einfach, wenns auch kompliziert geht?
Felix Alter
Japanurlaub 2015
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:05 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