Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2009, 11:34   #1
schnaps
Пользователь
 
Регистрация: 13.03.2009
Сообщений: 17
По умолчанию ProgressBar в ListView

Люди, помогите пожалста, в общем имеется задача. Есть список TListView, одна из колонок его занята компонентом ProgressBar, собственно вот кусок кода

Цитата:
var
r: TRect;
pb: TProgressBar;
begin
Listview1.ViewStyle := vsReport;
Listview1.Items.Add.Caption := 'Text';

r := Listview1.Items[0].DisplayRect(drBounds);
r.Left := r.Left + Listview1.columns[0].Width;
r.Right := r.Left + Listview1.columns[1].Width;

pb := TProgressBar.Create(Self);
pb.Parent := Listview1;
pb.BoundsRect := r;
pb.Position := 0;
Listview1.Items[0].Data := pb;
end;
при большом списке, который не влазит в место отведенное под ListView естественно появляются полоски прокрутки, беда в том что строки с текстом скроллируются, а прогрессбары сидят на месте пробовал то же самое сделать в StringGrid результат точно такой же.
schnaps вне форума Ответить с цитированием
Старый 13.03.2009, 12:21   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Дык а в каком событи этот код?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.03.2009, 12:52   #3
schnaps
Пользователь
 
Регистрация: 13.03.2009
Сообщений: 17
По умолчанию

это собственно условный кусок кода пусть бкдет вызываться по созданию формы. Размышления подвели меня к мысли о том, что при прокрутке листа можно бы перерисовывать видимую часть прогресов, но следить за тем что сейчас видно мне как то не очень хочется, решение какое то топорное и некрасивое получается.
schnaps вне форума Ответить с цитированием
Старый 13.03.2009, 13:03   #4
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

По ходу нужно использовать событие onDrawItem - по-другому никак не выйдет ...
Можно по аналогии со вставкой контролов в StringGrid, например, попробовать здесь. В источнике откуда приведенный код про вставку контролов в StringGrid много чего есть.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 13.03.2009, 13:57   #5
schnaps
Пользователь
 
Регистрация: 13.03.2009
Сообщений: 17
По умолчанию

смотрел я в эти источники, пробовал впихнуть контрол и в StringGrid результат такой же... не скролятся они
schnaps вне форума Ответить с цитированием
Старый 13.03.2009, 14:26   #6
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Ну как же "не скролятся" ???
Вот например :
Вложения
Тип файла: rar SG_CB.rar (8.3 Кб, 143 просмотров)
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 14.03.2009, 09:08   #7
schnaps
Пользователь
 
Регистрация: 13.03.2009
Сообщений: 17
По умолчанию

Спасибо! но я чешу репу в раздумьях, я делал примерно то же самое, но не получилось
schnaps вне форума Ответить с цитированием
Старый 14.03.2009, 09:11   #8
schnaps
Пользователь
 
Регистрация: 13.03.2009
Сообщений: 17
По умолчанию

хотя нет, не совсем то же самое! спасибо еще раз!
schnaps вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ProgressBar Simon..14 Общие вопросы C/C++ 10 24.01.2009 14:56
ProgressBar Makarov Компоненты Delphi 3 04.02.2008 22:42
ProgressBar Rahim1993 Общие вопросы Delphi 10 20.01.2008 21:28
ProgressBar Terran Общие вопросы Delphi 5 09.01.2008 21:18
ProgressBar pentiumForever Компоненты Delphi 2 07.09.2007 13:33