Форум: "Основная";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c