Gestion de controle sous vba pour solidworks

ami.ben Messages postés 1 Statut Membre -  
Polux31 Messages postés 7219 Statut Membre -
Bonjour,

voici mon probleme:
sous vba (solidworks), je parviens a creer dynamiquement des controles "CheckBox." dans une frame par l'intermediaire du code suivant:

Dim Macmd As Control

Set Macmd = frm1.Frame1.Controls.Add("Forms.CheckBox.1")
Macmd.Left = 210
Macmd.Top = v_top
Macmd.Width = 11
Macmd.Height = 13
Macmd.Font.Size = 9
Macmd.Value = True
cela fonction tres bien, mais le probleme est que si l'utilisateur active ou desactive le controle, je ne sais pas comment recupere l'information
(Value = True ou Value = False)
j'espere etre assez claire.
Pour information le code me sert aussi a creer des zones de texte, des zones de liste modifiable et des labels.
si qq pouvait m'aider, merci d'avance.

Ami ben

3 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Déclare une variable générale, par exemple i que tu vas incrémenter à chaque création d'un contrôle. Ensuite donne un nom à ton contrôle de la façon suivante :

    i = 1
    Set Macmd = frm1.Frame1.Controls.Add("Forms.CheckBox.1","monNom" & i, true) ' true pour rendre le contrôle visible
    ... bla bla ...
    i = i + 1

    Il suffit de parcourrir les contrôles pour récupérer son état (sur le changement de formulaire par exemple):

    Dim Macmd As Control 'moi j'utilise Object !!!
    Dim j As Long

    For j = 1 to i - 1
    Set Macmd = frm1.Frame1.Controls("monNom" & j)
    If Macmd.Value = true then
    'ici ton code
    Else
    '....
    End If
    Next j

    ;o)

    polux
    0
  2. Roberto
     
    Je reprend la suite parce qu'il n'y a pas de réponse.
    La question est très bien posée, mais la solution...

    En effet, en utilisant l'objet "Control", on n'a accès qu'on propriétés générique du controle. Donc pas possible d'avoir BackColor, ForeColor et encore moins Value !

    Donc, est-ce que quelqu'un à une solution?

    Merci de tester vos solution avant de poster.
    0
  3. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Merci de bien tout lire ... et de ne pas dire n'importe quoi.

    Chez moi ça a toujours fonctionné ^^
    0