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

Вниз

ProgressBar & ListView   Найти похожие ветки 

 
sergious   (2003-11-01 23:48) [0]

Как в SubItem`е намутить прогресс бар, значение которого что б менять можно было
Зараннее благодарен за любой совет


 
clickmaker ©   (2003-11-02 00:06) [1]

OnAdvancedCustomDrawItem


 
sergious   (2003-11-02 00:15) [2]

Можно поподробнее пожалуста, очень нужно


 
clickmaker ©   (2003-11-02 00:35) [3]

Вернее, OnAdvancedCustomDrawSubItem


 
Sergious   (2003-11-02 01:29) [4]

Если не сложно, то можно небольшой пример, так как я не пойму что нужно сделать
Я вот к примеру сделал такое, но оно не русует с субитемах

procedure TForm1.Button1Click(Sender: TObject);
var
r: TRect;
pb: TProgressBar;
begin
Listview1.Items.Add.Caption:="1";
Listview1.Items.Item[Listview1.Items.Count-1].SubItems.Add("2");
Listview1.Items.Item[Listview1.Items.Count-1].SubItems.Add("3");
Listview1.Items.Item[Listview1.Items.Count-1].SubItems.Add("4");

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

pb := TProgressBar.Create(Self);
pb.Parent := Listview1;
pb.BoundsRect := r;
pb.Position := random(100);
// pb.Tag:=i;
Listview1.Items[i].Data := pb;
i:=i+1;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
pb: TProgressBar;
begin
pb := TProgressBar(Listview1.Items[0].Data);
pb.StepIt;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
i:=0
end;


 
Sergious   (2003-11-02 08:44) [5]

Ну что никто не может посоветовать?


 
Song ©   (2003-11-02 09:33) [6]

2Sergious
У меня твой пример рисует. В 1-ом сабитеме.
Ты ИМХО понимаешь что такое Listview1.Items[i].
Это не сабитем, а итем, а сабитем не инкрементируется через i увеличение i.
Убери везде i, строчку Listview1.Items[i] замени на Listview1.Items[0] и увидишь ты свой прогрессбар.
Только толку от твоего кода мало т.к. прогрессбар сотрётся при первой же перерисовке клиентской области listview.


 
Maxud ©   (2003-11-02 09:43) [7]

В OnAdvancedCustomDrawSubItem добавь:

TProgressBar(Item.Data).BoundsRect:=item.DisplayRect(drBounds);

Boundsrect.Left поправляй только на ListView1.Columns[0].Width



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
3-40960
Andrey V.
2003-10-16 21:34
2003.11.13
Позиционирование в гриде


4-42222
новый
2003-09-01 12:45
2003.11.13
Удаление программы из реестра.


3-41099
dimablind
2003-10-23 00:05
2003.11.13
Сортировка в TQuery


1-41288
Bless
2003-10-29 09:51
2003.11.13
Как узнать, сколько памяти занимает класс?


3-40827
Sirus
2003-10-22 08:29
2003.11.13
Как можно выбрать повторяющиеся записи из таблицы???