---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 ************