Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


Menu Flotantes

Aqui programadores en la plataforma Win32 con Visual C++ de Microsoft...

Moderador: latindeveloper

Menu Flotantes

Notapor gabrieluno el Dom Dic 11, 2005 1:19 pm

Hola amigos; quisera que me ayuden es urgente.
Pregunto si alguin sabes como hacer menur flotantes pero dentro de un dialogo no modal, ¿se puede hacer ello o no se puede hacer?.
gracias
gabrieluno
Usuario Activo
Usuario Activo
 
Mensajes: 55
Registrado: Mar May 17, 2005 11:26 am

Re: Menu Flotantes

Notapor latindeveloper el Jue Ene 05, 2006 7:15 pm

Disculpa la demora de la ayuda.

Los menú flotantes a los que te refieres tambien se llaman menús contextuales. Generalemente se invocan cuando se hace click derecho con el mouse.

La forma de motrar un menu contextual es:

1. Agregar el evento relacionado con el mensaje WM_RBUTTONDOWNç
2. En la funcion que se generará (OnRButtonDown) escribir:

Código: Seleccionar todo
void CTuDialogo::OnRButtonDown(UINT nFlags, CPoint point)
{
   CMenu menu;
   CRect rect(point.x ,point.y , point.x + 10 ,point.y + 10);
   ClientToScreen(&rect);
   menu.LoadMenu(IDR_MAINFRAME);
   menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN,rect.left,rect.top,this);

   CDialog::OnRButtonDown(nFlags, point);
}



Nota. La variable CRect es para convertir los puntos a valores globales y evitar que el menu salga en un lugar inesperado.

Tambien puedes utilizar directamente el CPoint que te da la funcion.

Código: Seleccionar todo
menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);
Imagen
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru


Volver a Visual C++

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados