elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  detectar item de lista con doble click y obtener id de elemento
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: detectar item de lista con doble click y obtener id de elemento  (Leído 4,325 veces)
dewolo

Desconectado Desconectado

Mensajes: 83


Ver Perfil
detectar item de lista con doble click y obtener id de elemento
« en: 4 Octubre 2011, 21:37 pm »



Uploaded with ImageShack.us

esta en la parte de maindialog
Código:
case IDC_LIST2:
switch(HIWORD(wParam))
{
case LBN_SELCHANGE:
{
                                }
                        }

de esta forma detecta si hubo seleccion de items, pero yo quisiera saber de que item se trata, osea necesitaria una ID de elemento o algo que me diga cual elemento se ha seleccionado..



En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: detectar item de lista con doble click y obtener id de elemento
« Respuesta #1 en: 4 Octubre 2011, 21:48 pm »

LB_GETCURSEL.


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
dewolo

Desconectado Desconectado

Mensajes: 83


Ver Perfil
Re: detectar item de lista con doble click y obtener id de elemento
« Respuesta #2 en: 4 Octubre 2011, 22:06 pm »

ai si gracias  ::)

Código:
case IDC_LIST2:
switch(HIWORD(wParam))
{
case LBN_SELCHANGE:
{
int dwSel = SendDlgItemMessage(hDlg, IDC_LIST2, LB_GETCURSEL, 0, 0);

int num = dwSel;
        char num_str[255];
        itoa(num,num_str,10);

if(dwSel != LB_ERR)
{
MessageBox(0,num_str,"TP2",0);
}


si conoces una mejor forma avisame XD


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: detectar item de lista con doble click y obtener id de elemento
« Respuesta #3 en: 4 Octubre 2011, 22:11 pm »

Supongo que podes usar esta macro para simplificar pero en definitiva es lo mismo:

ListBox_GetCurSel.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
dewolo

Desconectado Desconectado

Mensajes: 83


Ver Perfil
Re: detectar item de lista con doble click y obtener id de elemento
« Respuesta #4 en: 4 Octubre 2011, 22:16 pm »

lo que si  que cuando hago click en un elemento se activa LBN_SELCHANGE , pero yo quisiera al hacer doble click asi puedo simular una seleccion de un elemento de la lista y luego hacer algo al respecto, por ejemplo "cargar articulo" que abra otro dialog para cargar un artivulo
en conclusion como activar con doble click XD

En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: detectar item de lista con doble click y obtener id de elemento
« Respuesta #5 en: 4 Octubre 2011, 22:19 pm »

LBN_DBLCLK.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
dewolo

Desconectado Desconectado

Mensajes: 83


Ver Perfil
Re: detectar item de lista con doble click y obtener id de elemento
« Respuesta #6 en: 4 Octubre 2011, 22:23 pm »

Código:
case IDC_LIST2:
switch(HIWORD(wParam))
{
//case LBN_SELCHANGE:
case LBN_DBLCLK:
{
int dwSel = SendDlgItemMessage(hDlg, IDC_LIST2, LB_GETCURSEL, 0, 0);

int num = dwSel;
   char num_str[255];
   itoa(num,num_str,10);

if(dwSel != LB_ERR)
{
MessageBox(hDlg,num_str,"Final Lab2",0);
}

asi funciona, pero asi estaria bien? osea reemplazando el LBN_SELCHANGE por el LBN_DBLCLK, o hay otra forma mas profesional  :rolleyes:

pregunto porque se dan los dos casos, y es como que el GETCURSEL estaria suponiendo que se hizo una seleccion pero, en realidad se hizo dentro del mensaje de DBLCLK
« Última modificación: 4 Octubre 2011, 22:28 pm por dewolo » En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: detectar item de lista con doble click y obtener id de elemento
« Respuesta #7 en: 4 Octubre 2011, 22:57 pm »

Yo soy exporte en modulos de modo Kernel (drivers) para de Windows y no en su GUI asi que tomalo con pinzas lo que te diga, lo mejor que podes hacer es leer la documentacion (MSDN).

LB_GETCURSEL puede ser llamado hasta cuando no hay ningun elemento seleccionado, para eso comprabas dwSel, asi que es perfectamente valido llamarlo en LBN_DBLCLK. Es mas, imaginate que no hace falta cambiar de elemento seleccionado para hacer doble click infinitas veces en el mismo ...
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema: obtener Rect de un item de ListView
Programación Visual Basic
<[(x)]> 6 2,946 Último mensaje 15 Abril 2009, 01:14 am
por <[(x)]>
como sacar cualquier elemento de lista
Programación C/C++
karmi 1 3,577 Último mensaje 11 Noviembre 2010, 09:16 am
por Akai
Evitar doble click con click simple. (Fallo mecánico) « 1 2 »
Software
Saberuneko 12 3,000 Último mensaje 2 Septiembre 2014, 19:21 pm
por elezekiel
Seleccionar un Item de un Listview y darle click derecho
Programación Visual Basic
jack06 2 3,469 Último mensaje 12 Noviembre 2017, 19:45 pm
por okik
[Pregunta]: Detectar un click sobre un elemento
Desarrollo Web
Leguim 7 2,387 Último mensaje 31 Enero 2019, 05:31 am
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines