none
Comment redimensionner un objet dans un formulaire RRS feed

  • Question

  • Bonjour,

    Ce code-ci ne fonctionne pas

    Private Sub Form_Resize()
        Me.Graphique.Width = Me.Width - Me.Graphique.Left
        Me.Graphique.Height = Me.Section(acDetail).Height - Me.Graphique.Top
        Me.Repaint
    End Sub

    J'ai un vague souvenir d'utilisation d'API.  Me trompe-je ?

    Cdt,

    Blaise

    jeudi 26 juillet 2012 06:21

Réponses

  • Quand je dis ne fonctionne pas, Me.Graphique.Width et  Me.Graphique.Height sont bien recalculés, mais le graphique n'est pas redessiné.

    Voici le code qui fonctionne

    Private Sub Form_Resize() On Error Resume Next 'au cas où le formulaire est trop petit
    Me.Graphique.Width = Me.InsideWidth - Me.Graphique.Left
    Me.Graphique.Height = Me.InsideHeight - Graphique.Top
    End Sub


    Merci !
    • Marqué comme réponse blaise032 mercredi 8 août 2012 09:34
    • Modifié blaise032 mercredi 8 août 2012 09:39
    mercredi 8 août 2012 09:34

Toutes les réponses

  • Bonjour,

    1ère piste: utilise Me.InsideWidth à laplace de me.Width

    2- la hauteur de la section Détail ne changera pas si tu ne le fais pas :

     
        Graphique.Height = InsideHeight - Graphique.Top - Section(acHeader).height - Section(acFooter).height
        Section(Detail).height = 0
    

    Tu peux supprimer la mention des sections header et footer, s'il n'y ena pas.

    Le grphique est redimensionné en 1er, ce qui, au besoin, agrandira la section Détail (qui le contient).  la ligne suivante le réduit (à la hauteur du graphique + son .top) si l'utilisateur réduit la formulaire.

    3- me.Repaint inutile

    Sinon, quand tu dis "ne fonctionne pas", tu obtiens quoi ??

    mardi 7 août 2012 18:18
  • Quand je dis ne fonctionne pas, Me.Graphique.Width et  Me.Graphique.Height sont bien recalculés, mais le graphique n'est pas redessiné.

    Voici le code qui fonctionne

    Private Sub Form_Resize() On Error Resume Next 'au cas où le formulaire est trop petit
    Me.Graphique.Width = Me.InsideWidth - Me.Graphique.Left
    Me.Graphique.Height = Me.InsideHeight - Graphique.Top
    End Sub


    Merci !
    • Marqué comme réponse blaise032 mercredi 8 août 2012 09:34
    • Modifié blaise032 mercredi 8 août 2012 09:39
    mercredi 8 août 2012 09:34