Das folgende Programm zieht bei der Berechnung die von der Taskleiste eingenommene Höhe (oder Breite) ab. Wenn eine Verknüpfungsleiste vorhanden ist, die Microsoft Office startet, wird auch die von der Verknüpfungsleiste eingenommene Höhe (oder Breite) abgezogen.
PublicConstSM_CXFULLSCREEN=16
PublicConstSM_CYFULLSCREEN=17
#IfWin32Then
DeclareFunctionGetSystemMetricsLib"user32"(ByValnIndexAsLong)AsLong
#Anders
DeclareFunctionGetSystemMetricsLib"User"(ByValnIndexAsInteger)AsInteger
#EndIf
PublicSubCenterForm(frmAsForm)
frm.Left=Screen.TwipsPerPixelX*GetSystemMetrics(SM_CXFULLSCREEN)/2-frm.Width/2
frm.Top=Screen.TwipsPerPixelY*GetSystemMetrics(SM_CYFULLSCREEN)/2-frm.Height/2
EndSub
Verwenden Sie einfach CenterFormMe in Form_Load ->