Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
1-31851
ZXCV
2002-09-27 01:23
2002.10.10
ListBox


1-31711
Vasechkin
2002-10-01 07:41
2002.10.10
Конфигуратор для exe


1-31673
Mic_2000
2002-09-27 16:25
2002.10.10
Добавление компонент во время выполнения программы


14-31995
JohnnyJ
2002-09-17 04:49
2002.10.10
Давно мучает вопрос %))))))))


1-31694
Hooch
2002-09-30 17:03
2002.10.10
Подмена protected метода




   Наверх