Aller au contenu

Boîtes de dialogues


dfbiagio

Messages recommandés

dfbiago,

 

Tout d'abord, j'offre mes meilleurs voeux à tous.

 

La mémorisation de la taille et de la position des boites de dialogue se fait via les profils. Ci-après un petit bout de code qui affiche ces paramètres. Pour résoudre le problème, il faut se demander pourquoi le profil ne retient-il pas l'information. Démarres-tu avec le commutateur /p, ton profil est-il restauré chaque fois ?

 

;;; c:infoDialog
;;; Affiche la taille et la position des boites de dialogue d'AutoCAD.
;;; L'utilité est purement académique.
;;;
;;; Compatibilité: AutoCAD 2000 et plus
;;;
;;; Par Serge Camiré, CadNovation, 2006/12/28
;;; http://www.cadnovation.com/fr
(defun c:infoDialog(
/ descendents height hkcuDialog hkcuRoot largeDividor largeSpaces largeSpacesWidth 
  smallDividor smallSpaces smallSpacesWidth width x y
  )
  (setq hkcuRoot (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" (getvar "cprofile") "\\Dialogs"))
  (setq descendents (vl-registry-descendents hkcuRoot))
  (setq largeSpaces "                         ")
  (setq smallSpaces "       ")
  (setq largeDividor (vl-string-translate  " " "=" largeSpaces))
  (setq smallDividor (vl-string-translate  " " "=" smallSpaces))
  (setq largeSpacesWidth (1+ (strlen largeSpaces)))
  (setq smallSpacesWidth (1+ (strlen smallSpaces)))
  (princ (strcat
     "\n\n"
     (substr (strcat "Nom de la boite" largeSpaces) 1 largeSpacesWidth)
     (substr (strcat "X" smallSpaces) 1 smallSpacesWidth)
     (substr (strcat "Y" smallSpaces) 1 smallSpacesWidth)
     (substr (strcat "Largeur" smallSpaces) 1 smallSpacesWidth)
     (substr (strcat "Hauteur" smallSpaces) 1 smallSpacesWidth)
  ))
  (princ (strcat "\n" largeDividor smallDividor smallDividor smallDividor smallDividor "===="))

  (foreach descendent descendents
     (setq hkcuDialog (strcat hkcuRoot "\\" descendent))
     (setq x (vl-registry-read hkcuDialog "x"))
     (setq y (vl-registry-read hkcuDialog "y"))
     (setq width (vl-registry-read hkcuDialog "width"))
     (setq height (vl-registry-read hkcuDialog "height"))
     (if (or x y width height)
     (progn
        (princ (strcat
           "\n"
           (substr (strcat descendent largeSpaces) 1 largeSpacesWidth)
           (substr (strcat (if x (itoa x) "?") smallSpaces) 1 smallSpacesWidth)
           (substr (strcat (if y (itoa y) "?") smallSpaces) 1 smallSpacesWidth)
           (substr (strcat (if width (itoa width) "?") smallSpaces) 1 smallSpacesWidth)
           (substr (strcat (if height (itoa height) "?") smallSpaces) 1 smallSpacesWidth)
        ))
     ))
  )
  ;; Une petite pub de MVPort ?
  (princ)
)

 

Serge

Lien vers le commentaire
Partager sur d’autres sites

J'ai résolu mon problème, je vais tenter de l'expliquer.

Je travaille avec 2 écrans, un écran 21" pour le dessin et à ma gauche un écran 17" pour le designcenter, toll palettes et la fenêtre des properties et également pour d'autres programmes ouvert en même temps. Depuis hier j'ai changé mon écran 21" par un autre 17" (problème de couleur sur le 21"), J'ai le nouveau 17" à gauche et pour éviter de changer les câbles j'ai été dans la fenêtre des propriétés de windows pour changer l'écran 1 par l'écran 2. Bref aujourd'hui j'ai essayé autocad sur l'écran 1 au lieu du 2 et mon problème à disparu. J'ai donc inversé les câbles et remis l'écran 1 à gauche et l'écran 2 à droite et cela fonctionne.

En résumé si on utilise autocad sur l'écran "secondaire" on a ce problème avec les boîtes de dialogues tandis que si on laisse autocad sur l'écran dit "principal" on n’a pas de problème.

J'espère que j'ai été clair

Merci quand même

 

 

Lien vers le commentaire
Partager sur d’autres sites

Salut Bertrand,

 

Ce n'est encore que le bout du périscope mais c'est un début. Je vais essayer de me faire plus présent. Je vois que je n'ai pas perdu la couleur de ma ceinture et que certains sont même devenu zillième dan.

 

Je souhaite à tous une très bonne année 2007 (je commence à être un peu mélangé quand on sait que beaucoup de gens sont encore sur la 2005, qu'on est en 2006, que la version courante est la 2007 et que la 2008 se pointe).

 

¡ Hasta pronto !

 

Serge

 

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é