Verweis: | |
Uses: | StdCtrls |
Eingabe: | True oder False : Boolean; |
Ausgabe: | Hinweisschilder an- oder ausschalten. |
Funktion: | Einzelnes an- oder ausschalten von Hinweisschildern. |
Beispiel 1
Vorbereitung: Erstellen sie eine IDE Anwendung und ziehen Sie drei TLabel auf die Form. Wenn sie nicht wissen wie man mehrere Komponenten des gleichen Typs auf die Form bringt, dann schauen sie bitte hier. Erstellen Sie zusätzlich ein OnActivate-Ereignis.
procedure TForm1.FormActivate(Sender: TObject);
begin
Form1.ShowHint := True;
Label1.Hint := '';
Label2.Hint := 'Hier ist Label 2';
Label3.ShowHint := False;
Label3.Hint := 'Hier ist Label 3';
Label4.ParentShowHint := False;
Label4.Hint := 'Hier ist Label 4';
end;
Da es bei dem Ein- und Ausschalten von Hint noch ein paar Verständnis-Probleme gibt hier die Erläuterung von Beispiel 1. Da bei allen 4 Labeln die Standardeinstellung der Eigenschaft ParentShowHint auf true gestellt ist, werden bei dem Befehl:
Form1.ShowHint := True;
alle untergeordneten Komponenten ebenfalls auf ShowHint:=True gestellt. Wenn ich allerdings wie bei Label1 keinen Hinweistext (Hint) angegeben habe, so wird auch nichts angezeigt. Label2 Hint ist sichtbar da True durch ParentShowHint übernommen wurde. Label3 zeigt kein Hinweis, da wir diesen mit ShowHint := False abgeschaltet haben. Label4 wird angezeigt. Etwas was vielen Kopfzerbrechen bereitet. Dabei ist es ganz einfach. In der ersten Zeile wird durch Form1.ShowHint:=True; Label4.ShowHint auf True geschaltet. Wenn ich also nicht mehr will das Label4 angezeigt wird, hilft es nichts mehr wenn ich nachträglich das Übernehmen von ShowHint von Form1 deaktiviere. Es ist einfach zu spät. Ich kann jetzt nur noch über Label4.ShowHint:=False; das Hinweisschild deaktivieren.