![]() |
Problemas con ListBox
Buenas:
Dentro de un Listbox cuyos elementos estan ordenados alfabeticamente al pulsar una tecla alfanumerica el item que me selecciona es siempre el segundo del grupo de items que empiezen por la tecla pulsada..nunca el primero (a mi os aseguro que me pasa) . Alguien sabe porque y como puedo hacer que la posicion sea el primeros del grupo de items que empiezen por la tecla pulsada. Código:
|
NEG1414 He probado tu código como lo posteaste, añadiendo algún punto y coma... No me pasa lo que dices, me funciona correctamente y como debería. A cada pulsación de la tecla, el selecionado avanza un lugar en la lista.
Saludos. |
En primer lugar gracias por atenderme.
Al leer tu respuesta he optado por probar el codigo en otro PC el codigo que he puesto es el siguiente: Código:
void __fastcall TForm1::FormActivate(TObject *Sender)Pulso la tecla A: salta a AB Pulso la tecla B: salta a BA (quiero que salte a B) Pulso la tecla c : Salta a C Pulso la tecla a : Salta a AB (quiero que salte a A) NOTA: DONDE HAS INCLUIDO EL CODIGO?. Gracias otra vez |
Pues ese mismo código que propones es lo que yo he probado. Sólo con una diferencia, lo coloqué en el evento de un botón y Listbox1 es simplemente un TListBox incluido en el formulario principal Form1.
Ya te digo, me funciona como esperaba que lo hiciese. Saludos. EDITO: Lo he probado en el evento OnActivate y también me funciona. Te dejo como lo he hecho Archivo Adjunto 1268. Añado una linea más: Código:
delete Lista; |
Gracias por seguir conmigo..
He intentado poner a funcionar tu codigo pero me han surgido dos problemas 1: Mi version de builder es la 6 2: al intentar compilar no encuentra el paquete donde esta el archivo Mios.bpi (he buscado el archivo y no lo tengo en el pc) No he podido ejecutarlo.... La diferencia de version y la ausencia del archivo Mios.bpi puede tener algo que ver. Gracias otra vez. |
Bueno, Mios.bpi es una librería de compomentes que he ido creando yo mismo y que tengo colocado por defecto en mis proyectos. Realmente no hace falta para el ejemplo que te envié. Eliminala en las opciones de proyecto / Packages /design packages y de la opcion build with runtime packages. Elimina tambien todas las librerías que yo pueda tener instaladas y que tu no tengas. De esa forma lo podrás compilar.
Sobre la pregunta de si tiene que ver Builder 6, pues no lo se. En El BC5 he tenido que corregir un bug de la clase fstream... De todas formas las mismas clases VCL las usa delhi y están muy testadas. ¿Estamos ante un nuevo bug? Seria bueno que lo comprobaras y que otros miembros lo hicieran también. Si es así, se puede modificar el código fuente de la clase TListBox y publicarlo como truco o corrección de bug.;) ¿El ejecutable que te puse funciona? Aquí te dejo el proyecto linkado de forma estática para que funcione aunque falten librerías en tu PC. Informamé. Saludos. |
Bueno, no existe ningún bug. He hecho una prueba con delphi 6:
si no colocas ListBox1.Sorted := true; funciona como tu dices. En definitiva tu codigo c tiene algún error y ademas falta ListBox1->Sorted = true; Sería algo así: Código:
void __fastcall TForm1::FormActivate(TObject *Sender)Saludos. EDITO: mira esto también: Código:
void __fastcall TForm1::FormActivate(TObject *Sender) |
!!!PERFECTO!!!
Has dado con el problema, una vez añadida esa linea el programa funciona perfectamente. Muchas Garcias.. Postdata: He puesto esta cuestion en 5 foros Builder y has sido el unico que has contestado. |
Otra vez yo... Tengo oto problema:
Cuando ejecuto el codigo me muestra el listbox correctamente pero si quiero seleccionar un elemento de listbox (item) con el raton no puedo Es normal...Se puede seleccionar un item con el raton? Gracias |
Coloca la propiedad TabStop del ListBox en el Object Inspector a false.
Date cuenta que aquí también puedes poner el valor deSorted a true o false. Saludos. |
Gracias has dado otra vez con la solucion.
Gracia otra vez. "La ignorancia es una enfermedad que se cura preguntando" |
| La franja horaria es GMT +2. Ahora son las 06:04:05. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi