Hi Leute,
eigentlich ist das so'ne popelige Sache, dass ich mich gar nicht traue zu Fragen. Aber bevor ich lange rumspiele und wichtige Sachen nicht schaffe frag ich lieber.
Problem:
Ich habe mehrere SpeedButton, deren Hint ich in einer Statuszeile (oder sonst wo) anzeigen möchte. Weitere Controls meines Formulars sollen ihren Hint in gewohnter Form anzeigen.
Lösung:
Nun kann ich dem TApplication.OnHint - Ereignes natürlich eine neue Procedur zuweisen. Kein Thema.
in dieser Procedure mache ich jetzt folgendes:
Delphi-Quellcode:
procedure TFahrzEinstForm.ShowSecureButtonHint(Sender: TObject);
begin
IF Sender is TSpeedButton then begin
IF ((Sender as TSpeedButton) = SpeedButton28) or
((Sender as TSpeedButton) = SpeedButton29) or
((Sender as TSpeedButton) = SpeedButton30) or
((Sender as TSpeedButton) = SpeedButton31) or
((Sender as TSpeedButton) = SpeedButton38) or
((Sender as TSpeedButton) = SpeedButton39) then begin
Memo8.Text := (Sender as TSpeedButton).Hint;
end else begin
Memo8.Text := '';
end;
end;
end;
Nun kommt wohl mein Fehler. Sender scheint nicht das Control zu sein, das den Hint sendet. Somit liefert bei mir
IF Sender is TSpeedButton
immer False.
Ich habe über den Debugger geprüft, dass meine Procedure angesprungen wird wenn ich über die entsprechenden Button fahre.
Also, ich brauch nur einen Tipp und komme dann bestimmt selber weiter.
dank und Gruß oki