Aller au contenu

CASE de DIALOGUE à icônes


rebcao

Messages recommandés

Bonjour à Toutes et à Tous,

 

Les bonnes vieilles CASES de DIALOGUE à ICONES ($i=... $i=*) n'ont pas évoluées d'un poil ! Dommage...

 

Y aurait-il une solution pour agrandir cette fenêtre. Surtout élargir la partie gauche qui contient la liste des éléments...

 

Merci pour vos réponses.

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour rebcao,

 

Y aurait-il une solution pour agrandir cette fenêtre. Surtout élargir la partie gauche qui contient la liste des éléments...

 

Voilà comment je procèderai sous une version pleine, à toi de voir si cela est transposable pour une version LT (en fait je doute qu’il y a un fichier acad.dcl sous LT…. Du fait que la version soit brider avec l’emploi des lisp.)

 

Sous AutoCAD full les boites de dialogues définie en DCL comme le menu Image sont définie dans le fichier acad.dcl (nota : modifier l’aspect d’une boite de dialogue de ce fichier se répercutera sur toutes les commandes utilisant la définition modifié)

 

 

Définition de la boîte de dialogue extrait du fichier acad.dcl.

 

acad_icon: dialog {
       key = "label";
       initial_focus               = "listbox";
       : row {
           : list_box {
               width               = 20;
               height              = 21;
               fixed_height        = true;
               key                 = "listbox";
               allow_accept        = true;
           }
           : column {
               : row {
                   : icon_image {
                       key         = "icon1";
                   }
                   : icon_image {
                       key         = "icon2";
                   }
                   : icon_image {
                       key         = "icon3";
                   }
                   : icon_image {
                       key         = "icon4";
                   }
               }
               : row {
                   : icon_image {
                       key         = "icon5";
                   }
                   : icon_image {
                       key         = "icon6";
                   }
                   : icon_image {
                       key         = "icon7";
                   }
                   : icon_image {
                       key         = "icon8";
                   }
               }
               : row {
                   : icon_image {
                       key         = "icon9";
                   }
                   : icon_image {
                       key         = "icon10";
                   }
                   : icon_image {
                       key         = "icon11";
                   }
                   : icon_image {
                       key         = "icon12";
                   }
               }
               : row {
                   : icon_image {
                       key         = "icon13";
                   }
                   : icon_image {
                       key         = "icon14";
                   }
                   : icon_image {
                       key         = "icon15";
                   }
                   : icon_image {
                       key         = "icon16";
                   }
               }
               : row {
                   : icon_image {
                       key         = "icon17";
                   }
                   : icon_image {
                       key         = "icon18";
                   }
                   : icon_image {
                       key         = "icon19";
                   }
                   : icon_image {
                       key         = "icon20";
                   }
               }
/*
*              : row {
*                  : icon_image {
*                      key         = "icon21";
*                  }
*                  : icon_image {
*                      key         = "icon22";
*                  }
*                  : icon_image {
*                      key         = "icon23";
*                  }
*                  : icon_image {
*                      key         = "icon24";
*                  }
*              }
*/
           }
       }
       : row {
           : row {
               spacer_0;
               : row {
                   fixed_width = true;
                   : button {
                       label = "&Précédent";
                       key = "prev";
                       width = 8;
                   }
                   :spacer {
                       width = 2;
                   }
                   :button {
                       label = "  Suiva&nt  ";
                       key = "next";
                       width = 8;
                   }
               }
               spacer_0;
           }
           spacer;
           ok_cancel;
       }
}

 

 

Le composant que tu souhaites modifié et le composant list_box dont la largueur est prédéfinit par l’attribut width définit à 20, pour augmenter la largeur de la list_box il suffit d’augmenter la largueur de cet attribut, par exemple pour doubler la largeur remplacer :

                width               = 20;

par

                width               = 40;

 

 

post-33529-0-71530000-1358245438_thumb.png

 

 

 

A tester sous LT, et tient nous au courant...

Cordialement Bruno

Apprendre => Prendre => Rendre

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Je pense que cela doit fonctionner sous version LT car en ouvrant avec le bloc-notes le fichier base.DCL. Il est indiqué qu’il est utilisé par les fichiers :

// Define common prototypes and subassemblies for use by

// ACAD.DCL and user-defined dialogs (AutoCAD), and by

// ACLT.DCL (AutoCAD LT).

 

Donc dans ton cas recherche la définition du menu image acad_icon dans le fichier ACLT.DCL

 

A+

Apprendre => Prendre => Rendre

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Allez dans la foulée et pour une fois qu’il est possible d’émuler un peu AutoCAD LT autrement que par diesel ,scrip ou menu personnalisé.

 

 

Comme il a été dit pour la liste_box, il est évidemment possible de modifier la définition du composant icon_image prédéfinit dans le fichier base.dcl:

icon_image : image_button {
       color                   = 0;
       width                   = 12;
       aspect_ratio            = 0.66;
       allow_accept            = true;
       fixed_height            = true;
       fixed_width             = true;
}

 

 

Définition utilisé par la boite de dialogue acad_icon du fichier ACLT.DCL, par exemple pour avoir des images plus grandes et rectangulaires, il suffit de modifier les attributs width (qui fixe la largeur) et aspect_ratio (qui fixe le rapport hauteur / largeur):

icon_image : image_button {
       color                   = 0;
       width                   = 15;
       aspect_ratio            = 1;
       allow_accept            = true;
       fixed_height            = true;
       fixed_width             = true;
}

 

 

Ceci est pour l’exemple car est préférable de ne pas modifier les composants de base et plutôt préférer redéfinir leur définition directement dans la définition de la boite de dialogue en remplaçant par exemple dans acad_icon :

: icon_image {
                       key         = "icon1";
                   }

 

Par:

: image_button {
       key         = "icon1";
       color                   = 0;
       width                   = 15;
       aspect_ratio            = 1;
       allow_accept            = true;
       fixed_height            = true;
       fixed_width             = true;
}

 

Ou en définissant soi-même son propre composant dans base.dcl ou aclt.dcl (ou acad.dcl sur version pleine):

myicon_image : image_button {
       color                   = 0;
       width                   = 15;
       aspect_ratio            = 1;
       allow_accept            = true;
       fixed_height            = true;
       fixed_width             = true;
}

 

Que l’on emploie dans la boite de dialogue acad_icon à la place de tous les appels au composant icon_image.

 

post-33529-0-45640100-1358257101_thumb.png

 

Une dernière astuce au cas ou, pour visualiser les modification sur le menu image (seulement pour les versions full), il suffit de lancer l’instruction lisp suivante (menucmd "I=*") sur la ligne de commande ou passer par l’éditeur Visual Lisp -> Outils -> Outils d’interface ->Aperçu DCL dans l’éditeur.

 

(Ps : Pensez à relancer AutoCAD pour que le programme recharge les modifications apporté aux fichiers dcl).

 

 

 

En espérant avoir été clair et suffisamment complet sur le sujet,

Cordialement Bruno,

Apprendre => Prendre => Rendre

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Merci, c'est effectivement tout simple...

 

Effectivement en changeant la taille (width = 20 par XX) ça marche.

 

C'est vrai qu'il suffit de bidouiller les DCL... Mais c'est pas toujours évident de trouver la bonne section dans le DCL... Avec de la patience on devrait y arriver !

 

Merci

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Mais ce n’est pas toujours évident de trouver la bonne section dans le DCL...

Ce n’est pas vraiment difficile même pour un non initié, ce qu’il faut retenir pour s’y retrouver, c’est la structure et l’organisation des composants de définition de boite de dialogue et pas forcément se perdre avec leurs définitions exacte (pour cela il y a l’aide).

 

Le DCL est de mon point de vu un langage descriptif, et pas un langage de programmation qui sert à écrire des algorithmes. Là il y a juste une description à comprendre, écrite avec des composants (tile) auquel on adjoint des attributs si il y a lieu, tout cela étant disposés en colonnes ou rangées, les structures ainsi définie pouvant être factorisés (ou nommés ) pour une meilleur lisibilité du code, ou pour être réutilisés dans d’autres définition de boîte de dialogue.

 

 

Ps : Si j’ai autant détaillé mes réponses, c’est plus en souvenir de ces longues années passés sur LT qu'autre chose..., ou je me sentais frustré d’être bridé alors que d’autres semblaient pouvoir faire des trucs extraordinaires avec leurs version pleine… :rolleyes:

 

Ps bis : Sinon question subsidiaire tu me conseillerais lequel de tes supports de cours sachant que je tourne sous une version 2007 et que je cherche à m’autoformer avec la version de démo d’AutoCAD 2013.

 

A+

Apprendre => Prendre => Rendre

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir Bruno,

 

Tu peux m'envoyer un p'tit message à l'adressse en pied de page pour que je t'envoie le support !

 

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

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é