none
[VB 2008] Pivoter un contrôle personnalisé RRS feed

  • Question

  • Bonjour,

    J'ai créé un contrôle personnalisé (object mur 2D de maison) et je voudrais le faire pivoter.

    Voici ce que j'ai écrit dans la méthose Paint() de mon objet :

     

    Dim graph As Graphics = monMur.CreateGraphics

    myMatrix = New System.Drawing.Drawing2D.Matrix

    myMatrix.Rotate(45, System.Drawing.Drawing2D.MatrixOrder.Append)

    graph.Transform = myMatrix

    Cela ne fonctionne pas.

    Si quelqu'un a une idée à mon problème.

     

    D'avance merci.

    lundi 16 juin 2008 16:12

Réponses

  • Bonjour,

     

    Il n'est donc pas possible de pivoter un contrôle.

    Vous devez le faire par dessin... Il faut faudra dessiner dans le picturebox une image pivotée...

     

    Cordialement

    mardi 17 juin 2008 21:00
    Modérateur

Toutes les réponses

  • Bonjour,

     

    Une chose à noter : Il n'est pas possible de pivoter un contrôle au sens Windows.

     

    Si vous souhaitez pivoter un dessin, il faut d'abord effectuer une rotation puis dessiner sur votre objet graphics.

    Est-ce bien ce que vous faites ? Si oui, pouvez vous nous envoyer le code après "graph.Transform..."

     

    Cordialement

     

    lundi 16 juin 2008 20:32
    Modérateur
  •  

    En fait mes contrôles personnalisés sont déjà présent dans une PictureBox au chargement.

    Si je clique sur le boutton "pivoter objet 1" par exemple, le contôle 1 pivote de 45°.

     

    NB : Mon projet est un logiciel de plan donc les murs, fenêtres, portes... peuvent aussi être en diagonale.
    mardi 17 juin 2008 08:41
  • Bonjour,

     

    Il n'est donc pas possible de pivoter un contrôle.

    Vous devez le faire par dessin... Il faut faudra dessiner dans le picturebox une image pivotée...

     

    Cordialement

    mardi 17 juin 2008 21:00
    Modérateur
  • Je vais donc le faire par dessin pivoté (ou par WPF si celui-ci est encore plus puissant)

    Merci Gilles de votre aide.

    mercredi 18 juin 2008 07:33