Ich habe sowas in der Art hier laufen. Der BalloonHint heißt bei mir
DispHint
und ich speichere mir die letzte Position noch in einer Variablen
DispHintPos: TPoint
ab. Darauf aufbauend kann ich den Hint mit zwei Methoden ein- und ausschalten.
Delphi-Quellcode:
procedure TFrEditor3DGraphic.ShowDispHint(const HintTitle, HintDescription: string; const HintPos: TPoint);
begin
if (HintTitle <> DispHint.Title) or
(HintDescription <> DispHint.Description) or
(HintPos.X <> DispHintPos.X) or
(HintPos.Y <> DispHintPos.Y) then begin
DispHint.HideHint;
DispHint.Title := HintTitle;
DispHint.Description := HintDescription;
DispHintPos := HintPos;
if (Length(HintTitle) > 0) then
DispHint.ShowHint(PaintBox.ClientToScreen(HintPos));
end;
end;
procedure TFrEditor3DGraphic.ClearHint;
begin
DispHint.HideHint;
DispHint.Title := '';
DispHint.Description := '';
end;