Gunakan setWindowpos
SetWindowPosition Code Fragment hanya menetapkan kedudukan tetingkap ke paparan utama.
memahami paparan paparan dan skrin maya
Dalam persekitaran multi -display, paparan mempunyai susun atur dan koordinat tertentu:
Skrin Utama:
Sudut kiri atas terletak di paparan (0, 0). -
Paparan kiri: Ia mempunyai koordinat x negatif.
- Paparan kanan: Terdapat koordinat x positif, titik asal skrin adalah skrin utama skrin dan jumlah lebar skrin depan termasuk skrin utama.
- mengira koordinat skrin
Untuk menetapkan kedudukan tetingkap pada paparan tertentu, kita perlu mengira koordinat x yang betul berdasarkan susun atur skrin.
Gunakan objek skrin
. NET Screen Class menyediakan beberapa kaedah untuk menentukan skrin yang kini dipaparkan oleh tetingkap:
screen.fromcontrol (control)
screen.fromHandle (pemegang tetingkap)
screen.frompoint (point) -
Screen.FromRctangle (Rectangle)
-
Kaedah ini mengembalikan objek skrin yang mengandungi bahagian terbesar elemen yang ditentukan.
- Dapatkan pemegang honitor
.NET Rujukan Sumber Paparan, anda boleh mendapatkan pemegang HMonitor objek skrin dengan memanggil - getHashcode () kaedah objek. Sebagai alternatif, anda boleh menggunakan fungsi Win32 asli seperti MonitorFromWindow atau MonitorFromPoint untuk mengambil pemegang HMonitor.
penyelesaian
Berdasarkan pemahaman susun atur paparan dan koordinat skrin, anda boleh mengubah suai kaedah setWindowPosition seperti berikut:
Kaedah yang dikemas kini ini menggunakan indeks monitor sebagai parameter tambahan, dan mengira koordinat x yang sepadan berdasarkan susun atur skrin.
Atas ialah kandungan terperinci Bagaimana cara meletakkan tingkap dengan betul merentasi pelbagai monitor menggunakan setWindowpos?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!