Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как добавить индикатор прогресса в ячейку String Grid? [D6, WinXP]


eugene32 ©   (2004-10-22 16:12:00) 

Как добавить индикатор прогресса (Progress Bar, например) в ячейку String Grid?

Помогите начинающему ... :)


eugene32   (2004-10-22 20:33:00) [1]

На этих ссылка точно есть всё, что может понадобиться.
Можно и тему закрывать.:)


eugene32   (2004-10-22 20:22:00) [2]

Спааааасибо, мужики....  Ща попробую :))


Lin7   (2004-10-22 17:09:00) [3]

Посмотри здесь
http://www.delphikingdom.ru/helloworld/nogrid.htm
и здесь
http://www.delphikingdom.com/asp/viewitem.asp?UrlItem=/helloworld/dbgridcolor.htm

и это, если пригодится:

Автор: Joel E. Cant.

Пример демонстрирует добавление любого количества чекбоксов в StringGrid.
В этом примере необходимо добавить TPanel, а в саму панель включить TstringGrid.
Так же необходимо добавить невидимый TcheckBox на форму. Затем добавьте
5 колонок и 4 строки в объект StringGrid.

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;

Взято с Исходников.ru http://www.sources.ru


Алексей Петухов   (2004-10-22 16:41:00) [4]

 StringGrid.Canvas.Font.Color :=clRed;
 StringGrid.Canvas.TextRect(Rect,Rect.Left+3,Rect.Top+2,'xxx');

Признаюсь, не проверял...


eugene32   (2004-10-22 16:25:00) [5]

Я понимаю,  что OnDrawCell!
А что в нём делать то, хоть примерно?

Спасибо за помощь :)


Алексей Петухов   (2004-10-22 16:13:00) [6]

OnDrawCell?


Наверх

Титульная страница Поиск, карта сайта Написать письмо