![]() |
Delphi-Version: 2005
Problem bei der Hint anzeige
Hey DP'ler
ich hab ein kleines Problem bei der Hint anzeige auf meinem TChart. Hier erstmal der Code: Aufruf über:
Delphi-Quellcode:
Dann der eigentliche Code
procedure TFrm_Messung.Ch_MessungMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer); begin ShowSeriesHint(Mouse.CursorPos.X ,Mouse.CursorPos.Y); end;
Delphi-Quellcode:
Das Problem ist nun das der Hint, reproduzierbar, immer erst auftaucht, wenn ich auf das Chart klick, und eigentlich sollte er ja erscheinen wenn man drüber fährt. Oder hab ich irgendwo einen Denkfehler?
procedure Tfrm_messung.ShowSeriesHint(X,Y:Integer);
begin Ch_Messung.Hint := 'Dies ist ein Hinweis'; //ShowHint auf True setzen if Ch_Messung.ShowHint = False then Ch_Messung.ShowHint := True; //Col und Row Position lesen if (Mouse.CursorPos.X <> lastX) or (Mouse.CursorPos.Y <> lastY) then begin Application.CancelHint; Lastx := Mouse.CursorPos.X; Lasty := Mouse.CursorPos.Y; end; end; |
AW: Problem bei der Hint anzeige
Wenn die aktuelle Mausposition von der gemerkten abweicht, rufst Du Application.CancelHint auf. Ob das so richtig ist? Außerdem vergleiche bitte nie auf true/false, zumal die Abfrage IMO überflüssig ist. Und wieso übergibst Du die Screen-Koordinaten der Maus, brauchst Du die später noch? Ansonsten würden es X und Y ja genauso tun.
|
AW: Problem bei der Hint anzeige
Also ich ruf Application.CancelHint auf um wenn er die Maus wieder bewegt der Hint nicht mehr an der alten Position angezeigt wird sondern an der neuen. Das mit X, Y hast du recht da hab ich nur getestet obs vllt an der übergabe liegt.
|
AW: Problem bei der Hint anzeige
Müsste es dann nicht andersherum sein (erst abbrechen, dann neu anzeigen)?
Delphi-Quellcode:
procedure Tfrm_messung.ShowSeriesHint(X,Y:Integer);
begin //Col und Row Position lesen if (X <> lastX) or (Y <> lastY) then begin Application.CancelHint; Lastx := X; Lasty := Y; end; Ch_Messung.Hint := 'Dies ist ein Hinweis'; //ShowHint auf True setzen Ch_Messung.ShowHint := True; end; |
AW: Problem bei der Hint anzeige
Genau das gleiche Problem, erst wenn ich auf das Chart klick erscheint der Hint.
|
AW: Problem bei der Hint anzeige
Ich habe gerade kein Delphi zur Hand, kann aber am Nachmittag mal schauen, was das sein könnte.
[edit] Entspricht dies hier in etwa dem, was Du erreichen möchtest?
Delphi-Quellcode:
[/edit]
procedure TfrmMain.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin if (X <> OldX) or (Y <> OldY) then begin Application.ActivateHint(Mouse.CursorPos); OldX := X; OldY := Y; end; end; |
AW: Problem bei der Hint anzeige
fast ich will eigentlich die Werte von den Series anzeigen die auf der Chart sind.
|
AW: Problem bei der Hint anzeige
Du kannst den Hint doch vor dem Application.ActivateHint neu belegen.
|
AW: Problem bei der Hint anzeige
Zitat:
|
AW: Problem bei der Hint anzeige
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 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