Aller au contenu

[Résolu] - Placement d'une boite de dialogue dcl


Messages recommandés

Posté(e)

Bonjour,

 

Je n'arrive pas à trouver d'info sur le placement d'une boite de dialogue dcl à l'ouverture,fermeture et réouverture.

 

Je m'explique exemple (Boite de dialogue AutoCAD (Sélection rapide))

 

Lors de la 1ère ouverture de cette boîte elle se trouve au centre de l'écran et si on veut on peut la déplacer vers la gauche de l'écran.

 

Ensuite on ferme cette boîte de dialogue située à gauche de l'écran en validant avec ok.

 

Puis ensuite on décide de l'ouvrir à nouveau et bien là, la boîte de dialogue s'affichera à l'endroit où on l'avait placée (c'est à dire à gauche de l'écran).

 

J'aimerai savoir si il y a des infos et lesquelles à rentrer dans le fichier dcl ou lsp concernant le fonctionnement de l'affichage de la boite de dialogue après un déplacement de celle-ci ?

 

Merci d'avance et bonne journée!

Posté(e)

Hello

 

Je vais peut etre dire des betises mais je crois que la plupart des cases de dialogues "internes" AutoCAD

stocke leurs parametres d'affichage (positionnement) en base de registre dans le Profil User !?

 

LA SANTE, Bye, lecrabe ... Retraite J25 ...

Autodesk Expert Elite Team

Posté(e)

Hello

 

Je vais peut etre dire des betises mais je crois que la plupart des cases de dialogues "internes" AutoCAD

stocke leurs parametres d'affichage (positionnement) en base de registre dans le Profil User !?

 

LA SANTE, Bye, lecrabe ... Retraite J25 ...

 

Ah ok merci pour l'info .... et bien là ça me fais un peu peur car je ne m'y connais pas du tout dans ce domaine.

Posté(e)

Salut,

 

Par défaut, les boites de dialogue DCL s'ouvrent au centre de la fenêtre AutoCAD, mais on peut forcer la position en précisant un point 2d comme quatrième argument de la fonction new_dialog. Par ailleurs la position de boite de dialogue à sa fermeture est renvoyée par la fonction done_dialog. Il est donc possible de stocker ce point dans une variable globale pour la passer à new_dialog à la prochaine ouverture.

 

;; variable globale pour stocker la position de la boite de dialogue
;; initialisée à '(-1 -1) pour le centre de la fenêtre AutoCAD
(setq *dlg_position* '(-1 -1))

(defun c:test (/ tmp file dcl_id)
 (setq	tmp  (vl-filename-mktemp "Tmp.dcl")
file (open tmp "w")
 )
 (write-line
   "test : dialog{
       label = \"Test\";
       width = 20;
       spacer;
       : text{
           value = \"     Hello world!\"; }
       spacer;
       ok_only; }"
   file
 )
 (close file)
 (setq dcl_id (load_dialog tmp))
 (new_dialog "test" dcl_id "" *dlg_position*)
 (action_tile "accept" "(setq *dlg_position* (done_dialog))")
 (start_dialog)
 (unload_dialog dcl_id)
 (vl-file-delete tmp)
 (princ)
)

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é