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 269 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. |
vb@rchiv CD Vol.6 ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats sevZIP40 Pro DLL ![]() Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. |
||||||||||||||||
|
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


