Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Progressbar in ListView


Автор: MIX55 17.12.2005, 18:23
У меня такой вопрос. Допустим в ListView есть 5 столбцов и 10 строк.Как поместить в 4 колонку listview и во все 10 строк Progressbar.
З.Ы. Где-то уже это встречал. smile

Автор: Romikgy 19.12.2005, 15:26
Вот пример для стринггрида, можно переработать:
Код

Следующий пример демонстрирует всплывающий ComboBox в качестве местного редактора для компонента TStringGrid: 

procedure TForm1.FormCreate(Sender: TObject); 
begin 
 {Высоту у combobox не получится установить, поэтому мы будем} 
 {подгонять размер у грида под размер combobox!} 
  StringGrid1.DefaultRowHeight := ComboBox1.Height; 
 {Скрываем combobox} 
  ComboBox1.Visible := False; 
end; 

procedure TForm1.ComboBox1Change(Sender: TObject); 
begin 
 {Получаем выбранный элемент из ComboBox и помещаем его в грид} 
  StringGrid1.Cells[StringGrid1.Col, 
                    StringGrid1.Row] := 
    ComboBox1.Items[ComboBox1.ItemIndex]; 
  ComboBox1.Visible := False; 
  StringGrid1.SetFocus; 
end; 

procedure TForm1.ComboBox1Exit(Sender: TObject); 
begin 
 {Получаем выбранный элемент из ComboBox и помещаем его в грид} 
  StringGrid1.Cells[StringGrid1.Col, 
                    StringGrid1.Row] := 
    ComboBox1.Items[ComboBox1.ItemIndex]; 
  ComboBox1.Visible := False; 
  StringGrid1.SetFocus; 
end; 

procedure TForm1.StringGrid1SelectCell(Sender: TObject; Col, 
 Row: Integer;  var CanSelect: Boolean); 
var 
  R: TRect; 
begin 
  if ((Col = 3) AND 
      (Row <> 0)) then begin 
   {Размер и расположение combobox подгоняем под ячейку} 
    R := StringGrid1.CellRect(Col, Row); 
    R.Left := R.Left + StringGrid1.Left; 
    R.Right := R.Right + StringGrid1.Left; 
    R.Top := R.Top + StringGrid1.Top; 
    R.Bottom := R.Bottom + StringGrid1.Top; 
    ComboBox1.Left := R.Left + 1; 
    ComboBox1.Top := R.Top + 1; 
    ComboBox1.Width := (R.Right + 1) - R.Left; 
    ComboBox1.Height := (R.Bottom + 1) - R.Top; 
   {Показываем combobox} 
    ComboBox1.Visible := True; 
    ComboBox1.SetFocus; 
  end; 
  CanSelect := True; 
end; 



Добавлено @ 15:27
И комбобокса, заменяешь комбобокс прогресс баром и .... думаю далее додумаешь сам, хотя я и не проверял с листбоксом

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)