[C con Clase] Crear mas de un menu en tiempo de ejecucuion
humbert a
humbert_frig en hotmail.com
Vie Mar 18 03:11:54 CET 2011
En el capitulo 5 se describe la manera de crear menus sin utilizar los recursos pero intente hacer una barra de menus con mas de una opcion( del tipo archivo, ver, editar, etc) y solo se visualiza el ultime elemento. Esta es la funcion para insertar el menu:
Desearia ayuda para que esto funcione
void InsertarMenu(HWND hwnd)
{
HMENU hMenu1, // Manipula la barra de menu
hMenu2, // Manipula cada elemento pop-up
hMenu3,
hMenu4;
hMenu1 = CreateMenu(); /* Manipulador de la barra de menú */
hMenu2 = CreateMenu(); /* Manipulador para el primer menú pop-up */
hMenu3 = CreateMenu();
hMenu4 = CreateMenu();
/* ApendMenu sirve para añadir elementos a cada menu */
/* 1.-Donde se inserta el item,
2.-Atributos del item,
3.-Identificador o manipulador de menu o cero
4.-Texto del item*/
AppendMenu(hMenu2, MF_STRING, CM_PRUEBA, "&Prueba"); /* 1º ítem */
AppendMenu(hMenu2, MF_STRING, CM_SALIR, "&Salir"); /* 3º ítem */
AppendMenu(hMenu2, MF_SEPARATOR, 0, NULL);
AppendMenu(hMenu2, MF_STRING, CM_NUEVO, "&Nuevo");
AppendMenu(hMenu4, MF_STRING, CM_PRUEBA, "&Not"); /* 1º ítem */
AppendMenu(hMenu4, MF_SEPARATOR, 0, NULL); /* 2º ítem (separador) */
AppendMenu(hMenu4, MF_STRING, CM_SALIR, "&Now"); /* 3º ítem */
AppendMenu(hMenu4, MF_SEPARATOR, 0, NULL);
/* Inserción del menú pop-up */
AppendMenu(hMenu1, MF_STRING | MF_POPUP, (UINT)hMenu2 , "&Principal");
AppendMenu(hMenu3, MF_STRING | MF_POPUP, (UINT)hMenu4 , "&Second");
SetMenu (hwnd, hMenu1); /* Asigna el menú a la ventana hWnd */
SetMenu (hwnd, hMenu3);
}
Más información sobre la lista de distribución Cconclase