Mam na formatce komponent panel i na nim komponent(powiedzmy button). I jak uzyskać informacjie o jego położeniu względem całego ekranu a nie formatki.
Dodawanie odległości formatki od brzegu a potem panel odpada. Czy istnieje jakaś standardowa funkcja?
Odpowiem jak jest w Delphi, ale przypuszczam ze w BCB jest podobnie:
I jak uzyskać informacjie o jego położeniu względem całego ekranu a nie formatki.
Pozwole sobie zauwazyc na poczatku, ze skoro Button jest na Panelu, to jego wsporzedne beda podane wzgledem tego panelu, a nie wzgledem formy.
Metoda nazywa sie TControl.ClientToScreen, przyjmuje TPoint (punkt w ukladzie odniesienia danej kontrolki) i zwraca TPoint (punkt w ukladzie odniesienia ekranu).
Np: Button2 jest na Panel1
var
p, q: TPoint;
begin
p:=Point(Button2.Left, Button2.Top); //odczytanie polozenia Buttona (w odniesieniu do Panela)
q:=Panel1.ClientToScreen(p); //przeliczenie
Edit2.Text:=IntToStr(q.X)+' '+IntToStr(q.Y); //wyswietlenie w Edicie
Pokrewne metody to:
ScreenToClient
ClientToParent
ParentToClient
Button1->ClientOrigin