Witam,
Mam stację z 2 monitorami pracującymi jako 1 duży pulpit.
Czy jest jakaś komenda która nakaże Delphi aby otwartą formę1 umieściło na ekranie prawym, a formę2 na ekranie lewym ?
pozdrawiam
Witam,
Mam stację z 2 monitorami pracującymi jako 1 duży pulpit.
Czy jest jakaś komenda która nakaże Delphi aby otwartą formę1 umieściło na ekranie prawym, a formę2 na ekranie lewym ?
pozdrawiam
hmm nie jestem pewien ale spróbuj dać współrzędne Left dla formy na więcej niż rozdzielczość ekranu pierwszego.
To był mój pierwszy krok, niestety forma nie chce przeskoczyć :/
Musisz pokombinować.
Zdefiniuj sobie
var
MBounds0, MBounds1 : TRect;
Następnie pobierz rozmiary monitorów.
MBounds0 := Screen.monitors[0].BoundsRect //np. (0, 0, 1280, 1024, (0, 0), (1280, 1024)) monitor 1
MBounds1 := Screen.monitors[1].BoundsRect //np. (1280, 0, 2304, 768, (1280, 0), (2304, 768)) TV lub monitor 2
Następnie wyświetlasz formę na pozycji zawartej w pobranych wartościach.
Czyli w tym przykładzie dla monitora 2 , left wynosi 1280 zaś top 0.
Jeżeli chcesz by forma zajęła cały obszar możesz użyć funkcji SetBounds.
Przykładowo:
Form2.SetBounds(MBounds1.Left, MBounds1.Top, (MBounds1.Right-MBounds1.Left),(MBounds1.Bottom-MBounds1.Top));
Bardzo dziękuję :)
Twój sposób działa ! :>