Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-10-2012
Anel Hernandez Anel Hernandez is offline
Miembro
 
Registrado: mar 2005
Posts: 94
Poder: 20
Anel Hernandez Va por buen camino
Detectar cambio en Listbox

Hola,

hay alguna manera de detectar que se cambio desde codigo el item seleccionado de un listbox, que no sea implementando un nuevo evento onchange?

gracias
Responder Con Cita
  #2  
Antiguo 21-10-2012
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Anel Hernandez,

Revisa este link: http://delphi.about.com/od/tlistbox/...-drag-drop.htm, en el encontraras un ejemplo descargable de como defnir un evento Onchange y Funcionalidad Drag And Drop a un Control Listbox por medio de una clase interceptora.

Quizás el ejemplo sea un poco complicado pero puedes eliminar todo, excepto lo relacionado a la funcionalidad del evento Onchange y adaptarlo a tu código.

Otras opciones son:

1- Verificar la propiedad Count del Listbox para saber si ha cambiado el número de elementos de la lista, pero esto no verifica si un elemento específico cambio su valor.

2- Tener un Listbox y un TStringList con los mismos elementos, con esta opción se puede verificar cambios del Listbox en el número de Items y su contenido por comparación con el TStringList.

Todo depende de lo que tu aplicación requiera

Espero sea útil

Nelson

Última edición por nlsgarcia fecha: 21-10-2012 a las 02:34:56.
Responder Con Cita
  #3  
Antiguo 22-10-2012
Anel Hernandez Anel Hernandez is offline
Miembro
 
Registrado: mar 2005
Posts: 94
Poder: 20
Anel Hernandez Va por buen camino
Hola,

lo que necesito es detectar desde codigo cuando se cambia la seleccion, no cuando cambia el texto del item.

gracias
Responder Con Cita
  #4  
Antiguo 22-10-2012
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Question

No te vale el evento OnClick?
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #5  
Antiguo 22-10-2012
Anel Hernandez Anel Hernandez is offline
Miembro
 
Registrado: mar 2005
Posts: 94
Poder: 20
Anel Hernandez Va por buen camino
es que mando a seleccioanr desde codigo y el onclick no se entera.

gracias
Responder Con Cita
  #6  
Antiguo 22-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Puedes implementar la funcionalidad añadiendo un nuevo evento. La pregunta es, ¿por qué no quieres un nuevo evento?

// Saludos
Responder Con Cita
  #7  
Antiguo 22-10-2012
Anel Hernandez Anel Hernandez is offline
Miembro
 
Registrado: mar 2005
Posts: 94
Poder: 20
Anel Hernandez Va por buen camino
preguntaba si habia alguna forma mas sencilla que implementar un nuevo evento.

gracias
Responder Con Cita
  #8  
Antiguo 22-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No lo creo. Cambiar la selección por código involucra llamar al método SetItemIndex que manda el mensaje LB_SETCURSEL mientras que la notificación de cambio de selección LBN_SELCHANGE no se envia con el mensaje anterior, de acuerdo a la documentación.

Lo que yo haría, es crear un derivado de TListBox que redefina los métodos Click y SetItemIndex para lanzar un nuevo evento OnSelectionChange.

Por otro lado, también podrías considerar el cómo haces el cambio de selección por código. Si lo haces en un sólo punto o lo puedes centralizar mediante algún método del formulario, entonces no requieres derivar un componente, simplemente hacer la notificación en ese punto o método central.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Detectar evento cambio de foco pborges36 OOP 28 26-05-2014 03:34:48
detectar el cambio de tamano de un fichero locotenentul Varios 2 18-07-2008 20:55:32
Detectar cambio en componentes capo979 Varios 5 24-04-2008 17:10:22
Detectar cambio de posicion en dataset Ezecool Conexión con bases de datos 7 10-07-2007 20:53:19
Detectar el cambio de un directorio NeWNeO API de Windows 2 03-01-2005 09:36:48


La franja horaria es GMT +2. Ahora son las 09:48:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi