(defun c:tbgp ( / col )
    ;; Alternar el estado del flag y asignar el color de fondo correspondiente
    (if tbg:flg
        (progn
            (setq col 16777215)  ; Fondo blanco
            (setq tbg:flg nil)   ; Desactivar flag
        )
        (progn
            (setq col 3156001)   ; Fondo RGB 33, 40, 48
            (setq tbg:flg t)     ; Activar flag
        )
    )
    
    ;; Cambiar el color de fondo del layout
    (vlax-put-property (acdisp) 'graphicswinlayoutbackgrndcolor col)
    
    ;; Asegurar que el color del crosshair en el layout sea siempre blanco
    (vlax-put-property (acdisp) 'layoutcrosshaircolor 16777215)
    
    ;; Mensaje de confirmación
    (princ (strcat "\nFondo de layout cambiado a " (if (= col 16777215) "blanco" "RGB 33, 40, 48") "."))
    
    (princ)
)

(defun acdisp nil
    ;; Obtener el objeto de visualización de AutoCAD
    (eval
        (list 'defun 'acdisp 'nil
            (vla-get-display (vla-get-preferences (vlax-get-acad-object)))
        )
    )
    (acdisp)
)

;; Cargar las extensiones de Visual LISP
(vl-load-com)

;; Mensaje inicial
(princ "\nComando TBGP cargado. Escribe 'TBGP' para alternar el fondo del layout entre blanco y RGB 33, 40, 48.")
(princ)