Der folgende Quellcode öffnet beim Mehrmonitorbetrieb das Programm immer auf dem Monitor, auf welchem sich der Mauszeiger befindet. Danke ChatGPT Code für ein Modul: Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Type MONITORINFO cbSize As Long rcMonitor As RECT rcWork As RECT dwFlags As Long End Type Private Declare Function MonitorFromPoint Lib "user32" ( _ ByVal x As Long, ByVal y As Long, ByVal dwFlags As Long) As Long Private Declare Function GetMonitorInfo Lib "user32" Alias "GetMonitorInfoA" ( _ ByVal hMonitor As Long, lpmi As MONITORINFO) As Long Private Declare Function GetCursorPos Lib "user32" ( _ lpPoint As POINTAPI) As Long Private Type POINTAPI x As Long y As Long End Type Private Const MONITOR_DEFAULTTONEAREST = &H2 Public Sub CenterFormOnMouseMonitor(frm As Form) Dim pt As POINTAPI Dim hMon As Long Dim mi As MONITORINFO ' Mausposition holen GetCursorPos pt ' Monitor bestimmen hMon = MonitorFromPoint(pt.x, pt.y, MONITOR_DEFAULTTONEAREST) mi.cbSize = Len(mi) GetMonitorInfo hMon, mi ' Breite und Höhe des Arbeitsbereichs (ohne Taskleiste) Dim workWidth As Long Dim workHeight As Long workWidth = mi.rcWork.Right - mi.rcWork.Left workHeight = mi.rcWork.Bottom - mi.rcWork.Top ' Zentriert positionieren frm.Move _ (mi.rcWork.Left + (workWidth - frm.Width / Screen.TwipsPerPixelX) 2) * Screen.TwipsPerPixelX, _ (mi.rcWork.Top + (workHeight - frm.Height / Screen.TwipsPerPixelY) 2) * Screen.TwipsPerPixelY End Sub Code für die Hauptform: Private Sub Form_Activate() Static Done As Boolean If Not Done Then CenterFormOnMouseMonitor Me Done = True End If End Sub Dieser Tipp wurde bereits 270 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
TOP! Unser Nr. 1 ![]() Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Tipp des Monats TOP Entwickler-Paket ![]() TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR... |
||||||||||||||||
|
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |
|||||||||||||||||


Mehrmonitorbetrieb Programmaufruf


