Текущий архив: 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.45 MB
Время: 0.033 c