J'ais repondu la même, mais en activeX (fonctionne dans les 2 espaces pour Noir ou Blanc) C'est similaire au code de Tramber et Patrick_35, c'est un joyeux mixage des diffèrentes solutions. ;)
(defun c:BlackAndWhite ( / disp fonc1 fonc2 togg_bk togg_cr bg_color cr_color)
(vl-load-com)
(setq disp (vla-get-display (vla-get-preferences (vlax-get-acad-object))))
(if (zerop (getvar "tilemode"))
(setq
fonc1 '(vla-put-GraphicsWinLayoutBackgrndColor disp bg_color)
fonc2 ' (vla-put-LayoutCrosshairColor disp cr_color)
togg_bk (getenv "Layout background")
togg_cr (getenv "LayoutXhairPickboxEtc")
)
(setq
fonc1 '(vla-put-GraphicsWinModelBackgrndColor disp bg_color)
fonc2 '(vla-put-ModelCrosshairColor disp cr_color)
togg_bk (getenv "Background")
togg_cr (getenv "XhairPickboxEtc")
)
)
(cond
((and (eq togg_bk "0") (eq togg_cr "32767"))
(setq bg_color 16777215 cr_color 16711680)
)
((and (eq togg_bk "16777215") (eq togg_cr "16711680"))
(setq bg_color 0 cr_color 32767)
)
(T
(initget "Noir Blanc _Black White")
(if (eq (getkword "\nCouleur de fond [Noir/Blanc]?: ") "White")
(setq bg_color 16777215 cr_color 16711680)
(setq bg_color 0 cr_color 32767)
)
)
)
(eval fonc1)(eval fonc2)
(princ)
)
Pour tramber: BackGround n'est pas une commande, mais une variable d'environnenemt (getenv "Background") pour la couleur de fond dans l'EO[Edité le 18/8/2005 par bonuscad] [Edité le 18/8/2005 par bonuscad]