Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.10;
Скачать: CL | DM;

Вниз

Продвинутый ComboBox   Найти похожие ветки 

 
AndreyV.   (2002-10-02 12:57) [0]

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


 
Игорь Шевченко ©   (2002-10-02 13:23) [1]

SendMessage(ComboBox.Handle, CB_SETHORIZONTALEXTENT, ...)

В http://www.delphikingdom.com/treasury/combo.htm лежит ComboBox у которого есть соответствующая property. Но мышкой не таскается - это за вами.


 
Song ©   (2002-10-02 13:27) [2]

Вот из проги своей (просто недавно делал, быстро и нашёл ;-) )

procedure TForm19.ComboBox1DropDown(Sender: TObject);
Var Wdth,t:Integer;
begin
With TComboBox(Sender) Do
IF Items.Count<>-1 then
Begin
Wdth:=Canvas.TextWidth(ExtractFileName(Items[0])); // Получаем ширину первого пункта и считаем её самой большой
IF Items.Count>0 then For t:=1 to Items.Count-1 Do IF Canvas.TextWidth(ExtractFileName(Items[t]))>Wdth then Wdth:=Canvas.TextWidth(ExtractFileName(Items[t])); // Проверяем есть ли больше. Если есть - переназначаем
IF Wdth+24>Perform(CB_GETDROPPEDWIDTH,0,0) then Perform(CB_SETDROPPEDWIDTH,Wdth+24,0); // Проверяем если ширина описывающего прямоугольника меньше чем найденная в Wdth, то увеличиваем выпавшую область.
End;
end;


 
Игорь Шевченко ©   (2002-10-02 13:51) [3]

Приветствую, Song © (02.10.02 13:27)

Ага, сглючил. SETHORIZONTALEXTENT - Это чтобы Scrollbar появился в выпавшей части. А так, конечно, CB_SETDROPPEDWIDTH.

С уважением,



Страницы: 1 вся ветка

Текущий архив: 2002.10.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
4-32062
Степан
2002-08-23 13:33
2002.10.10
Список открытых окон


3-31616
sasha123
2002-09-19 11:37
2002.10.10
Знающие люди, как программно создать Lookup поле


1-31684
grifon
2002-09-30 15:36
2002.10.10
Ord


1-31701
dim-
2002-09-29 21:15
2002.10.10
Сохранение формы


1-31860
Itap
2002-09-28 22:54
2002.10.10
Как поместить курсор в заданную строку