Formularpositionen merken und wiederherstellen

Hilfsfunktionen einfügen

Const AppName = "Tipps"
Function Verschieben(ByVal lngLeft As Long, ByVal lngTop As Long, _
ByVal lngWidth As Long, ByVal lngHeight As Long, objForm As Form)
Dim typRect2 As RECT
GetWindowRect GetParent(objForm.hwnd), typRect2
MoveWindow objForm.hwnd, lngLeft, lngTop - typRect2.top, lngWidth, lngHeight,
True
End Function
Function links(objForm As Form) As Long
Dim typRect As RECT
If GetWindowRect(objForm.hwnd, typRect) = 1 Then
links = typRect.left
End If
End Function
Function oben(objForm As Form) As Long
Dim typRect As RECT
If GetWindowRect(objForm.hwnd, typRect) = 1 Then
oben = typRect.top
End If
End Function
Function breite(objForm As Form) As Long
Dim typRect As RECT
If GetWindowRect(objForm.hwnd, typRect) = 1 Then
breite = typRect.right - typRect.left
End If
End Function
Function hoehe(objForm As Form) As Long
Dim typRect As RECT
If GetWindowRect(objForm.hwnd, typRect) = 1 Then
hoehe = typRect.bottom - typRect.top
End If
End Function
Sub speichern(objForm As Form)
SaveSetting AppName, objForm.Name, "Breite", breite(objForm)
SaveSetting AppName, objForm.Name, "Hoehe", hoehe(objForm)
SaveSetting AppName, objForm.Name, "Links", links(objForm)
SaveSetting AppName, objForm.Name, "Oben", oben(objForm)
End Sub
Sub laden(objForm As Form)
Dim lngLinks As Long
Dim lngOben As Long
Dim lngBreite As Long
Dim lngHoehe As Long
lngBreite = GetSetting(AppName, objForm.Name, "Breite", 0)
If lngBreite <> 0 Then
lngHoehe = GetSetting(AppName, objForm.Name, "Hoehe", 0)
lngLinks = GetSetting(AppName, objForm.Name, "Links", 0)
lngOben = GetSetting(AppName, objForm.Name, "Oben", 0)
Verschieben lngLinks, lngOben, lngBreite, lngHoehe, objForm
End If
End Sub

Die Funktion MoveWindow verschiebt ein Fenster an die angegebene Position. Die Zielposition und Zielgröße legen Sie über die Parameter der Funktion fest. Der erste Parameter definiert das Fenster, das verschoben beziehungsweise vergrößert werden soll, indem Sie dessen Fenster-Handle übergeben. Die Funktion gibt 1 (True) zurück, wenn sie fehlerfrei ausgeführt werden konnte.

Mit der Funktion GetWindowRect ermitteln Sie die Fläche, die ein Fenster einnimmt. Damit können Sie also Größe und Position festlegen. Die Funktion gibt diese Informationen als RECTStruktur zurück, deren Werte left, top, right, bottom die Position des Bereichs von links, oben, rechts und unten darstellen, bezogen auf das umgebende Fenster. Um die Werte zu ermitteln, übergeben Sie eine Variable des Typs RECT als Parameter. Nach Aufruf der Funktion enthält diese Variable die gewünschten Werte. Über den Rückgabewert der Funktion können Sie ermitteln, ob die Funktion fehlerfrei aufgerufen werden konnte.

Auch an diese Funktion übergeben Sie wieder das Fenster-Handle des Fensters, dessen Position ermittelt werden soll. Die Funktion GetParent gibt das Fenster-Handle des übergeordneten Fensters, hier des Access-Fensters zurück.