![]() |
Informationsblasen für Komponenten
Hallo,
vorab: Ich habe wirklich nichts zu meiner Frage gefunden :) Und zwar möchte ich, wenn man mit der Maus über bestimmte Komponenten fährt (z.B. TButton) eine "Infoblase" anzeigen, in der Informationen über die Funktion der Komponente, etc. drinstehen. Allerdings habe ich keinen Ansatz... Ich würde das ganze ins DragOver-Ereignis schreiben aber mehr hab ich leider nicht. |
AW: Informationsblasen für Komponenten
Meinst Du evtl. einen Hint?
[edit] Beispiel:
Delphi-Quellcode:
[/edit]
procedure TFormTest.FormCreate(Sender: TObject);
const DEF_HINT = 'Dies ist die Komponente %s vom Typ %s.'; var aButton: TButton; aEdit: TEdit; aMemo: TMemo; aComboBox: TComboBox; i: integer; begin //Button anlegen aButton := TButton.Create(self); aButton.Left := 10; aButton.Top := 10; aButton.Name := 'TestButton'; aButton.Parent := self; //Edit anlegen aEdit := TEdit.Create(self); aEdit.Left := 100; aEdit.Top := 10; aEdit.Name := 'TestEdit'; aEdit.Parent := self; //Memo anlegen aMemo := TMemo.Create(self); aMemo.Left := 10; aMemo.Top := 40; aMemo.Name := 'TestMemo'; aMemo.Parent := self; //ComboBox anlegen aComboBox := TComboBox.Create(self); aComboBox.Left := 250; aComboBox.Top := 10; aComboBox.Name := 'TestComboBox'; aComboBox.Parent := self; //allen Controls Hint zuweisen for i := 0 to ControlCount - 1 do begin Controls[i].Hint := Format(DEF_HINT, [Controls[i].Name, Controls[i].Classname]); Controls[i].ShowHint := true; end; end; |
AW: Informationsblasen für Komponenten
Ja genau das meinte ich, vielen Dank. Leider viel mir der Begriff nicht mehr ein... Unter 'Hint' finde ich jetzt natürlich was, danke :)
|
AW: Informationsblasen für Komponenten
Aber kann ich nicht eigentlich auch im Objektinspektor was in 'Hint' schreiben und dann im DragOver:
Delphi-Quellcode:
MyButtonOrLabelOrEdit.ShowHint;
|
AW: Informationsblasen für Komponenten
Natürlich kannst Du den Hint auch im OI vergeben. Und wenn Du ShowHint auf true setzt, dann brauchst Du nichts weiter zu tun, dann erscheint der Hint ganz automatisch beim Überfahren mit der Maus.
|
AW: Informationsblasen für Komponenten
Dann aber noch eine Frage: Habe in meinem Prog. ein MainMenu. Den verschiedenen Menüpunkten kannst du zwar ein Hit zuweisen, aber die Funktion ShowHInt gibt es nicht?!
|
AW: Informationsblasen für Komponenten
Ist Deine Hilfe kaputt?
Zitat:
|
AW: Informationsblasen für Komponenten
Willst Du den Hint selbst einblenden? Ich wüsste jetzt nicht, wie man das am besten realisiert.
Normalerweise kümmert sich Windows darum, Hints einzublenden. Du musst dazu einen Hint-Text zuweisen und ShowHint auf True setzen. Selbst die Kontrolle über die Hints zu übernehmen, ist standardmäßig nicht vorgesehen. Sicher gibt es dafür auch Möglichkeiten, aber nicht eine Methode wie MyControl.ShowHintNow; |
AW: Informationsblasen für Komponenten
Mit Application.ActivateHint ginge das wohl, ist aber meist unnötig, es sei denn, man hat einen ganz speziellen Spezialfall.
|
AW: Informationsblasen für Komponenten
Es geht ja fast alles, hatte vergessen, ParentShowHint auf true zu setzten. Allerdings habe ich nach wie vor das Problem mit dem MainMenu. OnHint existiert weder in den Ereignissen der Form, der TMainMenu Komponente noch in anderen Komponenten.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 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