Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem bei der Hint anzeige (https://www.delphipraxis.net/154713-problem-bei-der-hint-anzeige.html)

PhilmacFLy 22. Sep 2010 10:48

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:
procedure TFrm_Messung.Ch_MessungMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
ShowSeriesHint(Mouse.CursorPos.X ,Mouse.CursorPos.Y);
end;
Dann der eigentliche Code
Delphi-Quellcode:
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;
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?

DeddyH 22. Sep 2010 10:54

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.

PhilmacFLy 22. Sep 2010 11:18

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.

DeddyH 22. Sep 2010 11:21

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;

PhilmacFLy 22. Sep 2010 11:34

AW: Problem bei der Hint anzeige
 
Genau das gleiche Problem, erst wenn ich auf das Chart klick erscheint der Hint.

DeddyH 22. Sep 2010 12:19

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:
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;
[/edit]

PhilmacFLy 22. Sep 2010 20:08

AW: Problem bei der Hint anzeige
 
fast ich will eigentlich die Werte von den Series anzeigen die auf der Chart sind.

DeddyH 23. Sep 2010 10:14

AW: Problem bei der Hint anzeige
 
Du kannst den Hint doch vor dem Application.ActivateHint neu belegen.

haentschman 23. Sep 2010 10:18

AW: Problem bei der Hint anzeige
 
Zitat:

Genau das gleiche Problem, erst wenn ich auf das Chart klick erscheint der Hint.
...hat das vieleicht mit dem Focus zu tun ? :gruebel:

PhilmacFLy 23. Sep 2010 10:37

AW: Problem bei der Hint anzeige
 
Zitat:

Zitat von haentschman (Beitrag 1051441)
Zitat:

Genau das gleiche Problem, erst wenn ich auf das Chart klick erscheint der Hint.
...hat das vieleicht mit dem Focus zu tun ? :gruebel:

Ne habs grad mit ch_messung.setfocus probiert selbes problem


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz