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

Вниз

Combobox   Найти похожие ветки 

 
Noname   (2004-01-06 11:11) [0]

Здравствуйте.

Как можно определить самую длинную строку в ComboBox и узнать ее размер в пикселях?

PS: кроме перебора всех строк

Спасибо.


 
Тимохов ©   (2004-01-06 11:15) [1]

Чем тебе перебор не подходит?
Если все-таки остановить на переборе, то
типа того
kMax := 0;
CB.Canvas.Font := CB.Font;
for kI := 0 to CB.Items.Count-1 do
begin
kCurrent := CB.Canvas.TextWidth(CB.Items[kI]);
if kCurrent > kMax then kMax := kCurrent;
end

Что-то типа этого


 
Noname   (2004-01-06 11:19) [2]

просто ищу более рациональный способ ...


 
gek ©   (2004-01-06 11:20) [3]

Можно в прнципе смотреть когда добавляешь и естественно
когда удаляешь и сравнивать


 
alex_*** ©   (2004-01-06 11:22) [4]

Ищи не ищи, а перебирать придется. Если у тебя там в Items не десятки тысяч строк, то это пустяки.


 
Тимохов ©   (2004-01-06 11:22) [5]

Да даже и 10000 тысяч - ерунда, если, конечно, не сотый пень.


 
xli ©   (2004-01-06 11:26) [6]

Ты комбик то небось сам набиваешь?

Ну так и закладывай с каждой строчкой ее длину, при заполнении, или при любом другом удобном случае, и выбрать самую длинную можно.

А измерить длину можно следующим образом:
ComboBox1.Canvas.TextWidth(ComboBox1.Items[i]);



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

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

Наверх




Память: 0.48 MB
Время: 0.042 c
14-49771
Knight
2003-12-22 16:16
2004.01.16
Функция разбивающая строку по разделителям...


14-49742
barbi
2003-12-23 10:22
2004.01.16
Москва дезинформирует о погоде в нашем регионе, а как в ваших?


6-49677
DelphiN!
2003-11-15 22:34
2004.01.16
Общение по сети через микрофон


3-49412
samalex
2003-12-11 13:06
2004.01.16
Цвет ячейки в DBGrid или RxDBGrid


14-49743
Nick-From
2003-12-22 10:45
2004.01.16
Один из способов заработка - ваши мнения