Polozenie komponentu

0

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?

0

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

0

Button1->ClientOrigin

1 użytkowników online, w tym zalogowanych: 0, gości: 1