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


¿cómo saber que control está activo?

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

Moderador: latindeveloper

¿cómo saber que control está activo?

Notapor atp el Jue Mar 20, 2008 7:48 am

Hola de nuevo, otra vez me ha surgido una duda.

Verán, tengo en un mismo diálogo 2 controles CTreeCtrl, llamados IDC_TREE1 y IDC_TREE2. También tengo 2 menús contextuales (IDR_MENU1 y IDR_MENU2). Lo que necesito hacer es que al pulsar el botón derecho del mause sobre IDC_TREE1 salga el menú contextual 1 y lo mismo con IDC_TREE2, que salga el menú contextual 2.

Pues bien, ya sé como hacer que salgan los menús contextuales, lo que pasa es uqe no sé como saber si se ha pulsado el boton derecho sobre IDC_TREE1 o IDC_TREE2. Una vez que lo sepa, tan solo hay que hacer un if-else para mostrar el menú 1 o el 2.

Saludos y gracias de antemano.
atp
Usuario Muy Activo
Usuario Muy Activo
 
Mensajes: 130
Registrado: Mar Ene 03, 2006 3:52 pm

Re: ¿cómo saber que control está activo?

Notapor ivancp el Lun Abr 07, 2008 7:48 pm

Intenta con esto:

Código: Seleccionar todo
CWnd* pWnd = GetFocus();

if(pWnd == GetDlgItem(IDC_TREE1))
{
   //El control IDC_TREE1 tiene el foco
}
// Tambien funciona con:
if(pWnd->m_hWnd == GetDlgItem(IDC_TREE1)->m_hWnd)
{
   //El control IDC_TREE1 tiene el foco
}
ivancp
Programador Experimentado
Programador Experimentado
 
Mensajes: 345
Registrado: Jue Sep 06, 2007 12:57 pm


Volver a Visual C++

¿Quién está conectado?

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