• Sábado 14 de Diciembre de 2024, 22:38

Autor Tema:  Problemas Con Listbox  (Leído 1510 veces)

neg1414

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Problemas Con Listbox
« en: Jueves 29 de Mayo de 2008, 19:08 »
0
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: Text
  1.  
  2.  
  3. TStringList  *Lista  = New TStringList
  4.  
  5.      Lista->Add("A")
  6.      Lista->Add("AB")  
  7.      Lista->Add("AC")
  8.      Lista->Add("B")
  9.      Lista->Add("BA")
  10.      Lista->Add("C")
  11.      ...
  12.  
  13.      Lista->Sorted;
  14.  
  15.  
  16.      for (int i=0;i<Lista>Count;i++)
  17.        {
  18.            ListBox1 ->Items->Text = Lista->Text
  19.        }
  20.  
  21.  


Gracias.

sonGoku

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Re: Problemas Con Listbox
« Respuesta #1 en: Viernes 30 de Mayo de 2008, 10:26 »
0
El codigo que has puesto no es el correcto. La forma correcta de acerlo seria con:

  // metemos los datos en la lista.
  ListBox1->Items->Add("A");
  ListBox1->Items->Add("AB");
  ListBox1->Items->Add("AC");
  ListBox1->Items->Add("B");
  ListBox1->Items->Add("BA");
  ListBox1->Items->Add("C");

  // ordenamos la lista
  ListBox1->Sorted = true;


 el orden de las dos operaciones da igual.

Espero que te sirva

neg1414

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Problemas Con Listbox
« Respuesta #2 en: Viernes 30 de Mayo de 2008, 18:35 »
0
En primer lugar gracias por atenderme.

He corregido el codigo....

Código:

void __fastcall TForm1::FormActivate(TObject *Sender)
{

TStringList  *Lista  = new TStringList;

    Lista->Add("A");
    Lista->Add("AB");
    Lista->Add("AC");
    Lista->Add("B");
    Lista->Add("BA");
    Lista->Add("C");

    Lista->Sorted=true;


    for (int i=0;i<Lista->Count;i++)
      {
          ListBox1 ->Items->Text = Lista->Text;
      }

}

Lo he pegado,Te juro que sigue Haciendo lo mismo:

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)

Alguna idea:

Gracias otra vez