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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2012, 10:36   #1
leklerk
Пользователь
 
Регистрация: 17.02.2012
Сообщений: 38
По умолчанию Урезанный комбобокс

Добрый день! Подскажите пожалуйста, можно ли сделать комбобокс, который, пока по нему не щелкнули, внешне представляет собой только маленькую стрелочку (не знаю, как точнее назвать) без поля для ввода, но когда по нему щелкаешь значения показываются целиком. При этом чтобы сам комбобокс оставался "стрелочкой".

Последний раз редактировалось leklerk; 20.09.2012 в 11:43.
leklerk вне форума Ответить с цитированием
Старый 20.09.2012, 12:44   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Вариант поиграть со свойством ComboBox.Width не рассматривали? При инициализации комбика ширина = ширине кнопки со стрелкой, по событию OnClick или какому другому ширина:=<Какое-то число>, в конце события OnChange вернуть ширину к первоначальному значению (если надо после выбора элемента снова показать одну стрелку).
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 20.09.2012, 14:07   #3
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Да лучше тогда поставить обычную кнопку и к ней прикрутить PopupMenu
FaTaL вне форума Ответить с цитированием
Старый 21.09.2012, 10:09   #4
leklerk
Пользователь
 
Регистрация: 17.02.2012
Сообщений: 38
По умолчанию

Sciv, все бы хорошо, но только он сам при этом раскрывается (там, где стрелочка), не только в выпадающем списке. Мне же нужно, чтобы только выпадающий список появлялся, а сам комбобокс оставался "стрелочкой". Мне подсказали:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1.Width := 21;
end;
 
procedure TForm1.ComboBox1DropDown(Sender: TObject);
begin
  ComboBox1.Perform(CB_SETDROPPEDWIDTH, 145, 0);
end;
leklerk вне форума Ответить с цитированием
Старый 21.09.2012, 10:22   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Тогда Вас вариант FaTaL устроил бы
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С массива в комбобокс vlkr C# (си шарп) 3 15.09.2012 23:04
Комбобокс alex77755 Microsoft Office Access 1 26.03.2012 15:19
внесение данных в комбобокс mojohead Помощь студентам 0 30.05.2011 23:18
комбобокс и присвоение числа grafgrial Общие вопросы Delphi 12 14.08.2010 12:39
Комбобокс deadh5n1 Помощь студентам 1 11.12.2007 08:12