Programación General > C++ Builder

 Re: Autocomplementar en un ComboBox

(1/1)

pikoson:
Tengo un ComboBox y lo lleno de una tabla en Sql, lo que quiero es que al momento de teclear sobre el ComboBox, me autocomplemente la palabra que este escribiendo. Ojala puedan ayudarme gracias!!!

_Viktor:
No me habia fijado en esta pregunta (:D ), te publico este codigo, lo podras acomodar perfectamente a tu aplicacion, los datos que se autocomplementan estan en la Tabla.db que te adjunto.-

 
--- Código: Text --- //-------------UNIT1.CPP----------------------------------------------------- #include <vcl.h>#pragma hdrstop #include "Main.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)        : TForm(Owner){}//---------------------------------------------------------------------------void __fastcall TForm1::FormCreate(TObject *Sender){Table1->Open();  Table1->First();  while (!Table1->Eof)  {    cb->Items->Add(Table1->FieldByName("Dato")->AsString);    Table1->Next();  }}//---------------------------------------------------------------------------void __fastcall TForm1::cbKeyPress(TObject *Sender, char &Key){ lastkey = Key;}//---------------------------------------------------------------------------void __fastcall TForm1::cbChange(TObject *Sender){ String srch = cb->Text;  if ((lastkey == 0x08) || (lastkey == VK_DELETE))  {    lastkey = 0;    return;  }  lastkey = 0;   int ix = cb->Perform(CB_FINDSTRING,-1,(LPARAM)srch.c_str());  if (ix != CB_ERR)  {    cb->ItemIndex = ix;    cb->SelStart = srch.Length();    cb->SelLength = (cb->Text.Length()-srch.Length());  } }//---------------------------------------------------------------------------   
Y finalmente en Unit.h agregas:

 
--- Código: Text --- public:  // User declarations        WORD lastkey;  
Espero te sirva, aunque lo dudo por la fecha de tu post.  Pero bueno, recuerda bajarte la tabla y ponerla en el mismo directorio que tu ejecutable.-

Suerte!

pikoson:
Aunque no lo creas, si me ha servido de mucho tu respuesta, ya lo probe y me funciono a la perfeccion, en aquel tiempo pues no pude solucionar este problema, pero precisamente, hace unos dias estaba en el mismo aprieto  muchisimas gracias por tu respuesta, fue pura coincidencia el haber encontrado esta respuesta, ni recordaba que habia hecho esta pregunta en este foro, jejeje, pero creeme que de ahora en adelante visitare seguido el foro, ya que tiene muy buen contenido.

Navegación

[0] Índice de Mensajes

Ir a la versión completa