Rubrik: System/Windows · Desktop/Bildschirm/Display | VB-Versionen: VB2005, VB2008 | 27.10.09 |
Äußerste Begrenzungen eines Multiscreen-Systems Die Funktion ermittelt die äußersten Begrenzungen (bounds) eines Multiscreen- | ||
Autor: Dietrich Herrmann | Bewertung: | Views: 9.508 |
ohne Homepage | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Um bspw. Formen in einem Multiscreen-System programmiert positionieren zu können, ist es recht praktisch, die jeweils äußerste Begrenzungskoordinate aller angeschlossenen Bildschirme zu kennen. Die folgende kleine Funktion ermittelt diese Werte und stellt sie in einer Struktur zur Verfügung.
' Ermitteln der 'äußersten' Bounds eines Multiscreen-Systems ' die Bounds werden in einer Struktur zurückgegeben Public Structure multiScreenBounds Public outerLeft Public outerTop Public outerRight Public outerBottom End Structure Public Function getMultiScreenBounds() As multiScreenBounds Dim mscb As New multiScreenBounds ' alle Screens ermitteln Dim anzScr As Short = Screen.AllScreens.Length - 1 Dim bs(anzScr) As Rectangle For i As Short = 0 To anzScr bs(i) = Screen.AllScreens(i).Bounds ' Ermitteln der Extrem-Bounds With mscb If .outerLeft > bs(i).Left Then .outerLeft = bs(i).Left If .outerTop > bs(i).Top Then .outerTop = bs(i).Top If .outerRight < bs(i).Right Then .outerRight = bs(i).Right If .outerBottom < bs(i).Bottom Then .outerBottom = bs(i).Bottom End With Next Return mscb End Function
Anwendungsbeispiel:
Dim mscB As multiScreenBounds = getMultiScreenBounds()
Dim mscLeft as integer = mscB.outerLeft