---Soumis par Nicole Calinoiu---
Bouger et redimensionner un formulaire depuis le code.
Parfois il est nécessaire de positionner un formulaire en un endroit spécifique ou de le redimensionner à volonté, à partir du code. Si les fonctions API de Windows sont simples, le changement de coordonnées requis, par contre, on ne peut en dire autant.
Télécharger clFormWindows.Bas
Ce module de classe cache les fonctions API et fournit une méthode générique pour déplacer et redimensionner des formulaires. Une fois importée dans votre application, vous pouvez utiliser cette classe d'une couple de façons:
1. Aligner le sommet de deux formulaires (à la plus haute position des deux):
'********** Code Start ************ Public Sub AlignTops(ByRef frmA As Form, ByRef frmB As Form) Dim fwA As New clFormWindow, fwB As New clFormWindow fwA.hwnd = frmA.hwnd fwB.hwnd = frmB.hwnd If fwA.Top < fwB.Top Then fwB.Top = fwA.Top Else fwA.Top = fwB.Top End If Set fwA = Nothing Set fwB = Nothing End Sub '********** Code End ************
2. Pour déplacer au coin supérieur droit d'Access:
'********** Code Start ************ Public Sub MoveToTopRight(ByVal strFormName As String) Dim fwForm As New clFormWindow Const SMALL_OFFSET = 5 'Used to position window slightly _ away from the Access MDI window border _ in order to avoid appearance of the Access _ window vertical scroll bar. With fwForm .hwnd = Forms(strFormName).hwnd .Top = .Parent.Top .Left = .Parent.Width - .Width - SMALL_OFFSET End With Set fwForm = Nothing End Sub '********** Code End ************