Home
Home

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

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