Cómo volver a pintar una barra de menú de Word 2003
Pregunta
Tengo una plantilla .dot de Word 2003 que cambia su menú según la condición del documento activo.
El DocumentChange
, DocumentOpen
y NewDocument
eventos de Word.Application
disparador configurando el .Visible
y .Enabled
propiedades de los controles CommandBarButton.
Al cambiar documentos activos, los controles expuestos al cambiar el Visible
La propiedad se muestra correctamente, pero los botones de texto que se han habilitado/deshabilitado no cambian de apariencia.Puede mostrar los controles habilitados al pasar el cursor sobre ellos, pero los deshabilitados no se vuelven a pintar hasta que coloque una ventana al frente.
¿Existe una forma sencilla de enviar un mensaje de repintado a la barra de menú para simular ocultar y exponer?
Solución
Estás jugando con las propiedades visibles y habilitadas de los controles.¿Pero intentaste ocultar/mostrar toda la barra de comandos para actualizarla?
application.CommandBars.ActiveMenuBar.visible = false
application.CommandBars.ActiveMenuBar.visible = true