C/Visual C - Desactivar menús

 
Vista:

Desactivar menús

Publicado por Héctor (14 intervenciones) el 01/05/2003 03:15:39
Quería saber cómo es el mecanismo para poder desactivar elementos de un menú, utilizando las MFCs de visual C++.
He estado utilizando el sigiuente fragmento de código, que confeccioné utilizando como consulta la MSDN de Microsoft:

CWnd* pMain = AfxGetMainWnd();
if (pMain != NULL)
{
CMenu* pMenu = pMain->GetMenu();
...
...
}

De esta manera consigo, o debería de conseguir, tener un puntero del menú de la aplicación. Y utilizando el método EnableMenuItem() poder activar o desactivar el elemento del menú deseado Pero no lo consigo.
La estructura del menú de mi aplicación es la siguiente:

| Archivo | Acciones | Ayuda |
|
Cambio de prioridades ---
|
---Por categorías
|
---Por funcionalidades

Exactamente, me gustaría desactivar los elementos del menú "Por categorias" y "Por funcionalidades". Y me pregunto si he de ir accediendo a cada elemento del men´´u con el método GetSubMenu(). O directamente puedo poner EnableMenuItem() indicándole el ID de cada elemento del menú. Pero esto último ya lo he probado, y no he obtenido resultado alguno. Compilaba y ejecutaba, pero no hacía nada.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Desactivar menús

Publicado por Víctor (1 intervención) el 07/05/2003 20:56:31
Para activar o desactivar alguna opción del menú, dentras que ir al ClassWizard y seleccionar en la pestaña de Message Maps, el ID que le has puesto al objeto (opción del menú), en Messages deberas seleccionar UPDATE_COMMAND_UI y pulsar añadir función.
La función resultante será OnUpdate...
Entonces solo tendras que poner este codigo para que se active o no la opción del menú: pCmdUI->Enable();
Dentro del parentesis tendrás que poner la condición para poder activar o no la opción del menú.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Desactivar menús

Publicado por Héctor (14 intervenciones) el 12/05/2003 00:22:48
Gracias por aconsejarme!!!!
Funciona todo bien. La verdad es que desconocía la función del evento UPDATE_COMMAND_UI.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar