• Jueves 2 de Mayo de 2024, 05:07

Autor Tema:  Re: Autocomplementar en un ComboBox  (Leído 1864 veces)

pikoson

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Autocomplementar en un ComboBox
« en: Martes 10 de Diciembre de 2002, 07:41 »
0
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

  • Miembro MUY activo
  • ***
  • Mensajes: 271
    • Ver Perfil
    • http://AyudaCBuilder.foros.st
Autocomplementar en un ComboBox
« Respuesta #1 en: Domingo 28 de Septiembre de 2003, 02:48 »
0
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
  1.  
  2. //-------------UNIT1.CPP-----------------------------------------------------
  3.  
  4. #include <vcl.h>
  5. #pragma hdrstop
  6.  
  7. #include "Main.h"
  8. //---------------------------------------------------------------------------
  9. #pragma package(smart_init)
  10. #pragma resource "*.dfm"
  11. TForm1 *Form1;
  12. //---------------------------------------------------------------------------
  13. __fastcall TForm1::TForm1(TComponent* Owner)
  14.         : TForm(Owner)
  15. {
  16. }
  17. //---------------------------------------------------------------------------
  18. void __fastcall TForm1::FormCreate(TObject *Sender)
  19. {
  20. Table1->Open();
  21.   Table1->First();
  22.   while (!Table1->Eof)
  23.   {
  24.     cb->Items->Add(Table1->FieldByName("Dato")->AsString);
  25.     Table1->Next();
  26.   }
  27. }
  28. //---------------------------------------------------------------------------
  29. void __fastcall TForm1::cbKeyPress(TObject *Sender, char &Key)
  30. {
  31.  lastkey = Key;
  32. }
  33. //---------------------------------------------------------------------------
  34. void __fastcall TForm1::cbChange(TObject *Sender)
  35. {
  36.  String srch = cb->Text;
  37.   if ((lastkey == 0x08) || (lastkey == VK_DELETE))
  38.   {
  39.     lastkey = 0;
  40.     return;
  41.   }
  42.   lastkey = 0;
  43.  
  44.   int ix = cb->Perform(CB_FINDSTRING,-1,(LPARAM)srch.c_str());
  45.   if (ix != CB_ERR)
  46.   {
  47.     cb->ItemIndex = ix;
  48.     cb->SelStart = srch.Length();
  49.     cb->SelLength = (cb->Text.Length()-srch.Length());
  50.   }
  51.  
  52. }
  53. //---------------------------------------------------------------------------
  54.  
  55.  
  56.  

Y finalmente en Unit.h agregas:

 
Código: Text
  1.  
  2. public:  // User declarations
  3.         WORD lastkey;
  4.  
  5.  

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!
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"

http]

pikoson

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Autocomplementar en un ComboBox
« Respuesta #2 en: Jueves 11 de Marzo de 2004, 18:55 »
0
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.