Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2008, 11:46   #1
nemaster21
Пользователь
 
Регистрация: 21.11.2007
Сообщений: 12
По умолчанию Снять выделение с ComboBox

ComboBox заполняется списком городов по первым введённым в него буквам, но проблема в том, что при этом в нём выделяется весь текст,
который, соответственно, удаляется при нажатии второй клавиши.
Например: нужно найти города на "Ха". Набираем "Х" -> в combobox появляется первый город на "Х", в виде выделенной строки. При наборе второй буквы "а" всё удаляется и остаётся только буква "а", по которой и заполняется список.
Помогите,плииз, как избавиться от выделения при внесении первой буквы.
nemaster21 вне форума Ответить с цитированием
Старый 06.06.2008, 11:51   #2
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Код можно посмотреть, помоему ты там что то намутил...

А можно весь код пасника или это тайна???
Нет невыполнимых задач, всё дело времени...

Последний раз редактировалось D-mon; 06.06.2008 в 12:26.
D-mon вне форума Ответить с цитированием
Старый 06.06.2008, 12:01   #3
nemaster21
Пользователь
 
Регистрация: 21.11.2007
Сообщений: 12
По умолчанию

Да код стандартный. Есть dll,база данных городов и функция выцепляющая города из базы в виде текстовых строк с разделителем в виде ";".
T:=Copy(s,1,Pos(';',s)-1);
Form1.ComboBox2.Items.Add(T);

Цикл выборки и заполнения стоит на TForm1.ComboBox2Change.
S - строка из базы.
Т- название города.

Последний раз редактировалось nemaster21; 06.06.2008 в 12:04.
nemaster21 вне форума Ответить с цитированием
Старый 06.06.2008, 12:29   #4
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

А можно весь код пасника или это тайна???
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 06.06.2008, 12:48   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

nemaster21, уж ни так ли ты хочешь?:
Код:
var    s:string;
..............
implementation
......................
procedure TForm1.FormCreate(Sender: TObject);
begin
s:=combobox1.items.Text;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
var i:integer;
begin
if ComboBox1.Text='' then ComboBox1.Items.Text:=s;
for i:=ComboBox1.Items.Count-1 downto 0 do
 if copy(ComboBox1.Items[i],1,length(ComboBox1.Text)-1)<>
    copy(ComboBox1.text,1,length(ComboBox1.Text)-1)
  then ComboBox1.Items.Delete(i);
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.06.2008, 13:00   #6
nemaster21
Пользователь
 
Регистрация: 21.11.2007
Сообщений: 12
По умолчанию

Спасибо, разобрался.
У меня в конце процедуры стояло
ComboBox2.DroppedDown := True;
чтобы список открывался автоматом.
Если это закомментить, то ничего не выделяется.
А как программно открывать combobox, чтобы он открывался
полностью, а не только первая строчка списка?
nemaster21 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Снять задачу |{ot Операционные системы общие вопросы 5 19.10.2008 18:33
Снять выделение Михаил Юрьевич Общие вопросы Delphi 2 17.05.2008 21:44
Снять галочку с CheckBox RIO Общие вопросы .NET 3 04.05.2008 22:39
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45