Ver Mensaje Individual
  #3  
Antiguo 13-11-2008
NEG1414 NEG1414 is offline
Miembro
 
Registrado: mar 2007
Posts: 177
Reputación: 18
NEG1414 Va por buen camino
En primer lugar gracias por contestarme..

Respecto a tu respuesta hay conceptos que aun no conozco como el inherited.

Te explico lo que pretendo:

Tengo un ListBox en el que hay una serie de componentes que pueden estar ya elegidos (incluidos en un Stringlist) , el caso es que los Elementos ya elegidos se muestran en el listbox de diferente color a los no elegidos.Los elementos estan ordenados alfabeticamente.
Supongamos que pulsamos la tecla c (Cuando el foco lo tiene el ListBox) , el foco lo tendra que recibir el primer item del ListBox que empieze por la tecla c Y NO ESTE AUN SELECCIONADO.
Para ello capturo en el evento KeyDow del Listbox la tecla pulsada, realizo las operaciones necesaria para saber cual es el item que debe tener el foco y lo selecciono

Código Delphi [-]ListHistEquip->ItemIndex = Posicion;

Hasta Aqui to correcto el problema es que al salir del evento KeyDow el ListBox se repinta y el elemento que recibe el foco es siempre el primer item que comienze por C (este elegido o no).

Nota:una solucion seria realizar las operaciones para seleccionar el item en el evento KeyUp, pero el resultado no me convence por que en primer lugar recibe el foco el primer item que comienza por C (Evento KeyDow) y despues salta al item correcto (KeyUp) pero visualmente parece una chapuza.

Gracias
Responder Con Cita