C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Поиск, ComboBox
PeroManiak
Отправлено: 19.06.2004, 02:48


Дежурный стрелочник

Группа: Участник
Сообщений: 71



Кто-нибудь, сотрите в Builder'e в Object Inspector'e любое property типа bool и напечатайте снова true, как только вы напечатаете t, сразу будет выделено "rue", а теперь, внимание..., вопрос: как это реализовать в ComboBox'e???
Заранее благодарен;)
ЗЫ. В Download Master'e эта фича реализована при вводе пути.
AVC
Отправлено: 21.06.2004, 10:01


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

внимание..., вопрос: как это реализовать в ComboBox'e


Ответ: например обработать OnKeyDown
Nick
Отправлено: 22.06.2004, 09:02


Машинист паровоза

Группа: Участник
Сообщений: 247



в BCB 6 AutoComplete = true
в ранних версиях или писать самому или
ehLib
PeroManiak
Отправлено: 02.07.2004, 01:44


Дежурный стрелочник

Группа: Участник
Сообщений: 71



Для ленивых юзеров вроде меня:


void __fastcall TForm1::cbChange(TObject *Sender)
{
// ComboBox1->DroppedDown = true;

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());
}
}


void __fastcall TForm1::cbKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
lastKey = Key;
}


Где-нибудь после объявления TForm1 *Form1; напишите
WORD lastKey;

Вернуться в Работа с базами данных в C++Builder