[Delphi] środek ekranu

0

Jak pobrać programowo dla form1 wielkości TOP i LEFT gdy jest :

form1.position:=poscreencenter;

????

W dalszej kolejności ,znając te wielkości (top i left) , chciałem przesunąć tą formę względem środka ekranu.
A może inaczej można to zrobić???

0

A co za różnica, czy względem środka ekranu czy jego lewego rogu?
Rozmiar ekranu odczytasz przez Screen.Witdh i Height.

0

Właśnie zdałem sobie sprawe że troche głupie pytanie zadałem. [wstyd]
Dostałem jakiegoś zaćmienia [wstyd]

0

Tylko żeby nie było że to ja pisałem :)

0

Kiedy position jest ustawione na poScreenCenter to formatka sama się wyśrodkowuje. W związku z tym można pobrać wartości top i left oraz width i heght i obliczyć środek ekranu. Oto przykład:

[delphi]
procedure TForm1.Sprawdz;
var
x,y: integer;
begin
x := left + width div 2;
y := top + height div 2;
end;
[delphi]

Zauważ ze używam left, top, width i height bezpośrednio, a to dlatego że jest to procedura formatki w przeciwnym wypadku musiałbyś się odwołać do konkretnej formatki. Ponadto warto użyć div zamiast / ponieważ od ręki dostaniesz wartość bez reszty. Aby zmienić polozenie względem środka ekranu wystarczy ze zmienisz wartości left i top oraz ew. także width i height.

No cóż troche za długo pisałem.

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