Détruire un contrôle en vb

cynbbq Messages postés 6 Date d'inscription vendredi 31 octobre 2003 Statut Membre Dernière intervention 23 novembre 2003 - 12 nov. 2003 à 00:28
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 12 nov. 2003 à 06:38
pourriez-vous me dire quelle est la méthode ou l'instruction complète pour détruire un contrôle en vb(picture box) ?

1 réponse

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
12 nov. 2003 à 06:38
Tu ne peux detruire que les controles chargés dynamiquement.

si tu as un controle sur ta Form, avec un Index. Un pictureBox nommé Pic1, avec un index à 0, par exemple :

    '# Tu peux en faire des copies, qui seront inserées dans le groupe de controle.
    Load Pic1(1)
    With Pic1(1)
          .Visible = True
          .Move 50 , 100 , 50, 50
     End With
    Load Pic1(2)
    With Pic1(2)
          .Visible = True
          .Move 50 , 150 , 50, 50
     End With

     '# etc...


tu te retrouves ainsi avec 3 pictureboxes....

Tu pourras ne detruire que 2 de ces pictureBoxes : celles crées dynamiquement...

    Unload Pic1(1)


Ce code est tout a fait faisable également avec un Controls.add / Constrols.Remove.

---------------------------------------------------

Le seul moyen de détruire n'importe quel composant ; sous reserve que celui-ci possède une propriété hWnd, c'est à dire pas un label, ni un shape... ; c'est en utilisant une API.

  '# Tout en haut du code, declaration de l'API
   Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long

   '# destruction du controle.
    DestroyWindow Picture2.hwnd


Sachant que cette methode est propre : elle envoie le message WM_DESTROY au controle.... c'est exactement ce qui se produit au dechargement de la feuille...

By Renfield

[mailto:thomas_reynald@msn.com thomas_reynald@msn.com]

Aucune touche n'a ete blessee lors de la saisie de ce texte.......... ;)
0
Rejoignez-nous