Aller au contenu

Messages recommandés

Posté(e)

Après m'avoir consacré du temps (une pensée à (gile) créateur du pline_block) j'aimerais si cela est possible avoir dans la boite de dialogue la liste en fixe et non en déroulante (comme à droite)

http://img87.imageshack.us/img87/8415/plineblockbe1.jpg

Et est-il possible d'avoir les noms dans l'odre alphabétique quand on les ajoutes plutot que par ordre d'ajout...

 

Merci à vous...

"Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."

J-C Van Damme

Posté(e)

Voilà, il faut remplacer Getname.dcl par ce code :

 

getname:dialog{
 label="Choisir un nom";
 initial_focus="tp";
 :boxed_column{
   label="Modifier la liste";
   :row{
     spacer;
     :edit_box{
       key="tp";
       edit_width=20;
       alignment=left;
       allow_accept=true;
     }
     spacer;
   }
   :row{
     :button{
       label="Ajouter";
       key="add";
     }
     :button{
       label="Retirer";
       key="del";
     }
   }
 }
 spacer_1;
 :row{
   spacer;
   :list_box{
     key="pop";
     width=25;
   }
   spacer;
 }
 spacer_1;
 ok_cancel;
} 

 

et, dans le LISP, la sous routine getname :

 

(defun getname	(/ lst what_next dcl_id nom)
 (if (not (vlax-ldata-get "Pline_block" "Name"))
   (vlax-ldata-put "Pline_block" "Name" '("Bain" "Cuisine" "Entrée" "Séjour" "WC"))
 )
 (setq lst (vlax-ldata-get "Pline_block" "Name"))
 (setq dcl_id (load_dialog "GetName.dcl"))
 (setq what_next 2)
 (while (>= what_next 2)
   (if	(not (new_dialog "getname" dcl_id))
     (exit)
   )
   (start_list "pop")
   (mapcar 'add_list lst)
   (end_list)
   (action_tile
     "pop"
     (strcat
"(if (or (= $reason 1) (= $reason 4))"
"(set_tile \"tp\" (nth (atoi $value) lst)))"
"(mode_tile \"accept\" 2)"
     )
   )	
   (action_tile
     "add"
     (strcat
"(if (not (member (get_tile \"tp\") lst))"
"(setq lst (acad_strlsort (cons (get_tile \"tp\") lst))))"
"(done_dialog 2)"
     )
   )
   (action_tile
     "del"
     (strcat
"(setq lst (vl-remove (get_tile \"tp\") lst))"
"(done_dialog 2)"
     )
   )
   (action_tile
     "accept"
     (strcat
"(if (not (read (get_tile \"tp\")))"
"(progn (alert \"Spécifiez un nom, svp.\")"
"(done_dialog 2))"
"(progn (setq nom (get_tile \"tp\"))"
"(if (and (not (member nom lst)) (/= nom ""))"
"(setq lst (acad_strlsort (cons (get_tile \"tp\") lst))))"
"(vlax-ldata-put \"Pline_block\" \"Name\" lst)"
"(done_dialog 1)))"
     )
   )
   (setq what_next (start_dialog))
   (if (= what_next 0)
(setq nom nil)
   )
 )
 (unload_dialog dcl_id)
 nom
) 

 

NB : Je modifie aussi les codes ici.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Bon comment dire...

:) :P :) Merciiiiiiiiiiiiiiiiiiii (Gile)!!!!!!!!!!!!!!!! :P :) :P

 

Voila maintenant c'est vraiment le top

Bon j'aimerais avoir la boite un peu plus longue en hauteur, mais la c'est à moi de me débrouiller avec le dcl, ce ne dois pas etre trop dur...

 

:P :P :P Merci beaucoup (gile)

"Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."

J-C Van Damme

Posté(e)

Re,

 

Vers la fin du DCL, tu peux ajouter un paramètre de hauteur pour la case list_box :

 

:list_box{
     key="pop";
     width=25;
     [surligneur]height=20;[/surligneur]
   } 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

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é