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.
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


0