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