| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
d00ze
Registrado: 18 Ene 2011 Mensajes: 16
| Publicado: 29/03/2011 7:23 am | | | Título: Crear menu winapi |
| Necesito saber como se crea otro menu popup a la derecha del que tengo, el cual se llama archivo, el codigo que tengo es el siguiente
| Código: | void InsertarMenu(HWND hWnd){ HMENU hMenu1,hMenu2; hMenu1=CreateMenu(); hMenu2=CreateMenu(); AppendMenu(hMenu1,MF_STRING | MF_POPUP, (UINT)hMenu2, "&Archivo"); AppendMenu(hMenu2,MF_SEPARATOR,0,NULL); AppendMenu(hMenu2,MF_STRING,CM_SALIR,"&Salir"); SetMenu(hWnd, hMenu1);
}
|
|
| | Volver arriba | |  | eagleoneraptor

Registrado: 20 May 2008 Mensajes: 187 Ubicación: Buenos Aires(Argentina)
| Publicado: 16/06/2011 6:30 pm | | | Título: |
| Pues siguiendo la misma lógica que tienes en tu código debería funcionarte...
| Código: | void InsertarMenu(HWND hWnd){ HMENU hMenu1,hMenu2; hMenu1=CreateMenu(); hMenu2=CreateMenu(); hMenu3=CreateMenu(); AppendMenu(hMenu1,MF_STRING | MF_POPUP, (UINT)hMenu2, "&Archivo"); AppendMenu(hMenu2,MF_SEPARATOR,0,NULL); AppendMenu(hMenu2,MF_STRING,CM_SALIR,"&Salir"); AppendMenu(hMenu1,MF_STRING | MF_POPUP, (UINT)hMenu3, "&Editar"); AppendMenu(hMenu3,MF_STRING, 100, "Cor&tar"); AppendMenu(hMenu3,MF_STRING, 101, "&Copiar"); AppendMenu(hMenu3,MF_STRING, 102, "&Pegar"); SetMenu(hWnd, hMenu1);
}
|
Prueba este código a ver si te ayuda.
Puede que lo conozcas, pero aquí hay un muy buen tutorial sobre la API de Windows:
http://winapi.conclase.net/curso/index.php
Espero te sirva Un Saludo! _________________ "Aquel que hace una bestia de si mismo se libra del dolor de ser un hombre". Dr. Johnson |
| | Volver arriba | |  | untio

Registrado: 17 Sep 2008 Mensajes: 380 Ubicación: MICA S.A.
| Publicado: 10/07/2011 10:25 am | | | Título: |
| Hola, Hace un tiempo leí este post y lo he recordado hoy porque acabo de añadirle un menú a una de mis ventanas. El código es llamado desde winmain pasándole como parámetro la dirección de una variable de tipo HMENU (bueno, realmente lo he simplificado bastante, pero funciona):
| Código: | static void CrearMenu(HMENU * hm) { HMENU hm2, hm3; *hm = CreateMenu(); hm2 = CreateMenu(); AppendMenu(hm2, MF_STRING, IDCOMABRIR, SZARCHIVO); AppendMenu(hm2, MF_STRING, IDCOMSALIR, SZSALIR); hm3 = CreateMenu(); AppendMenu(hm3, MF_STRING, IDCMDABOUT, SZABOUT); AppendMenu(*hm, MF_POPUP | MF_STRING, (UINT_PTR) hm2, SZARCHIVO); AppendMenu(*hm, MF_POPUP | MF_STRING, (UINT_PTR) hm3, SZHELP); }
|
Después, para añadir el menú a la ventana, se hace igual a NULL el campo de la clase de ventana que se llama algo así como "lpszMenuName" y se pasa nuestra variable de tipo HMENU como el tercer parámetro empezando por el final de la llamada a CreateWindowEx. Creo que lo llaman algo así como: hMenu (como no podría ser de otro modo).
Espero que sea de ayuda. _________________ Hago algo muy raro: primero leo las instrucciones. |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |