En realidad, creo que la mejor forma de hacer que el cuadro de diálogo se abra o se cierra es ejecutando una macro, como ha dicho Nessito.
Ejemplo:
Código:
- Rollout de prueba.
Rollout rotest rotest width:160 height:40.
(Tlabel lbl1 hola pos:[8,8] width:112 height:16).
Macroscript htest tcategory:Halfvector tools tbuttontext:test ttoltip:test.
(T- Max llama a este event handler para saber si tiene que t- Activar o no el botón asociado a esta macro t- Si se devuelve <true> significa que estará activado t- De lo contrario devolverá <false> ton ischecked do (t - Se devuelve true si el ut <rotest> existe y está abierto return (rotest.= undefined and rotest, open) t) t- Max llama a este event handler al ejecutar la macro ton execute do (t - Si el ut <rotest> existe y está abierto, lo destruímos if rotest.= undefined and rotest, open then (t destroydialog rotest ) - De lo contrario lo creamos else createdialog rotest t).
)
Y ahora mira estas imágenes.
En esta primera imagen ves que la opción test esta desmarcada. Eso es porque max llamó al event handler <ischecked> y recibió como resultado <false>. Esto es porque el ut no estaba abierto.

Ahora resulta que hacemos click en la opción test, por lo que max llama al event handler <execute> de la macro. Entonces, como el ut no estaba abierto, pues se crea y se abre (de lo contrario se cerraría). El resultado es esta segunda imagen.

Como ves, el ut ya está abierto y la opción test del Quad menú esta marcada.
No sé si habrá una opción más sencilla, pero esta es la que se me ocurre ahora mismo. Saludos.
-- IMÁGENES ADJUNTAS --
