![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| AlexLogos |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 23.4.2009 Репутация: нет Всего: 1 |
Доброго времени суток! Сегодня субота а у меня мозги уже набекрень сьехали от работы.
Хочу сделать следующую вещь: в комбобокс ввожу значение, по мере набора буковок из базы данных выбираются похожие слова, они записываются в итемсы этого комбобокса. Первая запись подставляется в текст комбобокса при чем виделяется та часть которая еще не введена. Вот текст процедуры на изменение текста в комбобоксе:
В чем проблема? Проблема в том что курсор после выделения становится в конец текста. При этом возникают трудности с вводом текста в комб - стереть запись, если найдены данные для подстановки, бекспейсом трудновато. Подскажите как это решить, как постаить курсор на свое место. И еще: при CBLookValue.Text:=CBLookValue.Items.Strings[0]; опять возникает собитие на изменение текста - это тоже не нужно. Вот мозги запарились - нифига уже и не могут. Помогите плиз... |
|||
|
||||
| CROTishka |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 192 Регистрация: 30.7.2009 Репутация: 1 Всего: 2 |
а) такие вещи делаются ТОЛЬКО отдельным потоком!
б) новый поток запускай только после выполнения или насильственной остановки старого (чтобы не долбать базу запросами "в молоко") в) (опционально) еще повесь таймер после изменения на запуск потока (300-500мс), чтобы если что-то быстро стирается, или вводится, чтобы не мешать Добавлено через 7 минут и 41 секунду еще нюансы (просто придираюсь): в нотифай эвентах обращайся к объекту только по сендеру (в твоем случае по TComboBox(Sender) ) лучше создай класс-потомок от TComboBox с блэкджэком со своей собственной кверей и т.д. а еще лучше поищи готовое решение на http://torry.net/ или где-нибудь ещё - такую задачу однозначно уже решали до тебя, и допили под себя. |
|||
|
||||
| MacTep |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: 4 Всего: 4 |
Мне было бы тоже интересно узнать решение данного вопроса.
И если честно, вручную изобретать бы не хотелось, конечно. Реально, думаю, есть какие-нибудь компоненты уже под это дело. Вот только как бы их найти -------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
| AlexLogos |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 23.4.2009 Репутация: нет Всего: 1 |
Хорошо, попробую. С потоками еще не работал, поэтому как-то мне сложно все это представить. Поищу решение - когда найду - сюда выложу.
|
|||
|
||||
| MacTep |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: 4 Всего: 4 |
Это было бы просто мега! -------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |