Главная страница
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.014 c
1-31867
Shrek
2002-09-20 21:06
2002.10.10
Очистить память


1-31699
I/O
2002-09-30 19:17
2002.10.10
Процедуры


4-32064
IrcOp
2002-08-23 23:10
2002.10.10
SetCapture


1-31708
Minco Vity
2002-09-29 15:07
2002.10.10
Параметры запуска программы


1-31884
alf_
2002-09-28 17:54
2002.10.10
система координат