2008-11-14 16 views
11

Próbuję pokazać niestandardową wskazówkę w TWinControl, ale nie mogę się dowiedzieć, jak uzyskać jego pozycję.Jak mogę uzyskać pozycję X, Y sterownika TWinControl (względem ekranu)?

Korzystanie z pozycji 0,0 pokazuje wskazówkę na górze ekranu (poza oknem), więc domyślam się, że musi to być pozycja kontrolki na ekranie.

Edit:

Znalazłem TCONTROL Property ClientOrigin który powraca co wcześniej oczekiwano I, jest to prawidłowe użycie ClientOrigin.X i ClientOrigin.Y?

Odpowiedz

32

TControl.ClientToScreen podaje współrzędne ekranu dla danego punktu w kontrolce.

lPoint := Panel1.ClientToScreen(Point(0,0)); 
Label1.Caption := Format('Screen: %d, %d', [lPoint.X, lPoint.Y]); 
+0

+1 za beïng 2 sekundy szybciej ode mnie ;-). –

+0

Ja to wezmę! :) –

+0

['Point'] (http://www.delphibasics.co.uk/RTL.asp?Name=Point) - Delphi ma naprawdę dziwną politykę nazywania funkcji globalnych ;-) – Wolf

Powiązane problemy