Отправляет email-рассылки с помощью сервиса Sendsay

Delphi. Уроки

  Все выпуски  

Delphi. Уроки


Информационный Канал Subscribe.Ru

Delphi. Библиотека VCL. Уроки по программированию с сайта http://progs.biz

Рассылка №19

Delphi. VCL. Урок 35. Компонент StringGrid.

Полные версии уроков (с картинками) можно найти по адресам
Урок 35. Компонент StringGrid.

Изучаем Delphi. Библиотека VCL. Урок 35. Компонент StringGrid

Компонент StringGrid предназначен для отображения и хранения текстовой информации в виде таблицы. Расположен он на вкладке Additional Палитры компонентов.

Размер таблицы определяется свойствами ColCount и RowCount. Они задат количество столбцов и строк соответственно. При необходимости эти свойства можно менять и программно. Размеры же ячеек в пикселах задают свойства DefaultColWidth и DefaultRowHeight. Если же надо задать размер некоторого столбца или некоторой строки отдельно, то надо воспользоваться свойствами ColWidths или RowHeights соответственно. Вот пример, в котором мы задаем для первого столбца ширину в 40 пикселов:

StringGrid1.ColWidths[0]:=40;

Как видно, нумерация идет с нуля.

Свойства FixedCols и FixedRows определяют сколько столбцов и строк будут использоваться для названий столбцов и строк. По умолчанию эти два свойства равны единице. Такие столбцы и строки выделяются серым цветом (это определяет свойство FixedColor) и при прокрутке нашей таблицы остаются зафиксированными. В принципе их можно использовать как угодно, но чаше всего в них помещают названия столбцов и строк.

Для того, чтобы получить доступ к некоторой ячейке, надо использовать свойство Cells. Вот пример, в котором мы записываем во сторую строчку второго столбца значение abcd:

StringGrid1.Cells[1,1]:='abcd';

При необходимости можно работать и со строками или столбцами целиком. Для работы со строками надо использовать свойство Rows, а со столбцами - Cols. Скажем, вот так можно целиком скопировать вторую строки в третью (помпите, что нумерация идет с нуля):

StringGrid1.Rows[2]:=StringGrid1.Rows[1];

Например, это может понадобиться при удалении некоторой строки из таблицы - в этом случае следующие за ней строки должны "подняться" наверх на один ряд каждая.

Множество важных параметров компонента StringGrid являются подсвойствами свойства Options.

Вот некоторые из них. Подсвойство goEditing отвечает за возможность редактирования ячеек таблицы. Если это свойство установить в true, то редактирование возможно (путем двойного щелчка на нужной ячейке). Подсвойство goRowSelect. Если оно установлено в true, то при щелчке на ячейке выделяеся весь ряд. Установленное в true подсвойство goTabs позволяет перемещаться между ячейками посредством клавиши TAB. Если вы хотите позволить пользователю изменять размеры столбцов путем перетаскивания границ у заголовков, то установите значение подсвойства goColSizing в true.

Одна из частых задач - это получение информации, в какую из ячеек пользователь внес изменения. Для определения этого надо воспользоваться обработчиком события OnSetEditText для StringGrid:

procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
  ARow: Integer; const Value: String);
begin
  Form1.Caption:=IntToStr(ACol) + ' ' + IntToStr(ARow);
end;

Как видно, номера строки и столбца измененной ячейки передаются в параметрах ACol и ARow.

Наверх

Другие рассылки с сайта progs.biz

Рассылки Subscribe.Ru
Уроки по C# и .NET.

Уроки по C# -новому языку от Microsoft для платформы .NET. Создание разных типов приложений (консольные, для Windows, веб-приложения), работа с базами данных, создание собственных компонентов. Примеры, исходники, статьи, FAQ.


Copyright Алексеев Игорь, 2002

Copyright сайт progs.biz, 2002



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное