Aller au contenu

Retour d'une valeur d'une list_box dans un DCL.


DenisHen

Messages recommandés

Bonjour à tous.

 

J'ai créer un DCL avec un list_box. Mais comment attribuer la valeur "retour".

LSP :

  (setq Cadre     (vlax-ldata-get "DenisH" "FlXYZCadre" "Demi"))
...
...
 (setq LstCadre (list "Aucun" "Simple" "Demi" "Complet"))
...
...
;;;Dans ma routine pour le DCL (qui fonctionne très bien) :
          (cond ((= Cadre "Aucun") (set_tile "Lst_Cadre" "0"))
                ((= Cadre "Simple") (set_tile "Lst_Cadre" "1"))
                ((= Cadre "Demi") (set_tile "Lst_Cadre" "2"))
                ((= Cadre "Complet") (set_tile "Lst_Cadre" "3"))
          ) ;_ Fin de cond
...
...
;;;C'est là qu'est mon problème, enfin je crois :
          (action_tile "Lst_Cadre" "(setq Cadre value)")

DCL :

	           :row {:text {label = "Quel style de cadre :";}
                      :list_box {key = "Lst_Cadre";
                                 height = 6;}
                      }       

Par défaut, c'est "Demi" qui est sélectionné, et ça fonctionne très bien. Mais je n'arrive pas à connaitre la valeur sélectionné si on la change.

 

Si quelqu'un a une astuce, un conseil... Je suis preneur...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

J'ai trouvé ! ! !

 

Le retour est la position dans la liste... 0 pour la première valeur... Du coup, j'ai maintenant ça qui fonctionne :

         (cond ((= Lst_Cadre "0") (vlax-ldata-put "DenisH" "FlXYZCadre" "Aucun"))
              ((= Lst_Cadre "1") (vlax-ldata-put "DenisH" "FlXYZCadre" "Simple"))
              ((= Lst_Cadre "2") (vlax-ldata-put "DenisH" "FlXYZCadre" "Demi"))
              ((= Lst_Cadre "3") (vlax-ldata-put "DenisH" "FlXYZCadre" "Complet"))
        ) ;_ Fin de cond

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

  • 5 ans après...

Coucou,

J'ai un petit soucis avec l'utilisation des list_box et notamment avec l'attribut multiple_select = true.
J'ai remarqué avec l'utilisation de la fonction (ListBox) de @(gile) (un peu remaniée), le nombre de valeurs que l'on peut pré-sélectionner semble limité à 256. Dans l'aide AutoCAD concernant list_box, ils ne font référence qu'à la limite de 32 768 valeurs pour la liste en entrée mais ils ne font pas référence à la limite de l'attribut Value permettant de sélectionner une liste de valeur au lancement de la boîte de dialogue. Or avec ma version de (ListBox), j'ai affiché le nombre d'élément dans la liste ainsi que le nombre d'éléments sélectionnés. Et le compteur d'élément sélectionnés reste bloqué à 256 malgré le fait que si je ferme la boîte de dialogue, le nombre max de valeur retournées autorisées est 530 (au delà le programme renvoie nil).

J'ai simplement créé une liste de strings allant de 0 à 32 767 et j'ai fait quelques essais pour avoir les éléments ci-dessus. Ma question est donc la suivante : Avez-vous déjà été confronté à ce problème avec les list_box tile ? Et si oui, comment faire pour se permettre de pré-sélectionner plus de 256 valeurs ? Et sélectionner plus de 530 valeurs ?

PS: je suis tombée sur ce >>sujet<< AutoDesk avec une personne ayant le même soucis apparemment.

Bisous,
Luna

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité