/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Crear menu winapi

 
      Índice del Foro elrincondelc.com -> Windows
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
d00ze



Registrado: 18 Ene 2011
Mensajes: 16

MensajePublicado: 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)

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

MensajePublicado: 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
      Índice del Foro elrincondelc.com -> Windows
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com