- •Абдулгалимов г. Л.
- •Часть 2. Компоненты delphi
- •1. Компоненты страницы standard
- •2. Компоненты страницы additional
- •3.Компоненты страницы win 32
- •4. Компоненты страницы system
- •5. Компоненты страницы samples
- •Введение
- •ЧасТь 1 . Практикум по программированию в delphi Запуск и начало работы в среде delphi
- •Работа 1. Создание надписей и установка кнопок на форме
- •Работа 2. Ввод и обработка произвольных текстовых и числовых данных.
- •Работа 3. Создание главного и вспомогательного меню. Использование зависимых и независимых переключателей.
- •Работа 4. Создание и обработка табличных данных. Использование кнопок с фиксацией и с изображением
- •Var I:integer;
- •Работа 5. Создание и просмотр рисунков
- •Работа 6. Работа со списками, фигурами и регуляторами
- •Задачи для самоконтроля
- •Часть 2. Компоненты delphi
- •1. Компоненты страницы standard
- •1.1. TFrame - рама и шаблоны компонентов
- •1.2. TMainMenu - главное меню формы (программы)
- •1.3. TPopupMenu - вспомогательное (локальное) меню
- •1.7. TButton - кнопка
- •1.8. TCheckBox - независимый переключатель
- •1.11. TComboBox - раскрывающийся список выбора
- •1.12. TScrollBar - управление значением величины
- •1.13. TGroupBox - панель группирования
- •1.15. TPanel – панель
- •2. Компоненты страницы additional
- •2.1. TBitBtn - кнопка с изображением
- •2.2. TSpeedButton - кнопка для инструментальных панелей
- •2.3. TMaskEdit - специальный редактор
- •2.4. TStringGrid - таблица строк
- •2.5. TDrawGrid - произвольная таблица
- •2.6. TImage - отображение картинок
- •2.7. TShape - стандартная фигура
- •2.8. TBevel - кромка
- •2.10. TСheckListBox - группа независимых переключателей
- •2.11. TSplitter - компонент для изменения размеров
- •2.12. TStaticText - метка для отображения текста
- •2.13. TControlBar - инструментальная панель
- •3. Компоненты страницы win32
- •3.1. TTabControl - набор закладок
- •3.2. TPageControl - набор страниц с закладками
- •3.3. TImageList - хранилище изображений
- •3.4. TRichEdit - ввод и отображение rtf-текста
- •3.8. THotKey - ввод акселератора
- •3.10. TDateTimePicker - ввод и отображение даты/времени
- •3.12. TTreeView - дерево иерархии
- •3.13. TListView - список просмотра
- •3.15. TStatusBar - информационная панель
- •3.16. TToolBar и ToolButton - инструментальная панель и ее кнопки
- •3.17. TCoolBar и tCoolBand - инструментальная панель и полосы для нее
- •3.18. TPageScroller - панель с прокруткой
- •4. Компоненты страницы system
- •4.1. TTimer - таймер
- •4.2. TPaintBox - окно для рисования
- •4.3. TMediaPlayer - медиаплейер
- •5. Компоненты страницы samples
- •5.1. TGauge - индикатор величины
- •5.2. TColorGrid - выбор или отображение цвета
- •5.3. TSpinButton - спаренная кнопка
- •5.4. TSpinEdit - редактор для ввода целого числа
- •5.5. TDirectoryOutLine - отображение структуры каталогов
- •5.6. TCalendar - ввод и отображение даты
- •Приложения
- •1. Процедуры и функции для работы со строками
- •2. Пиктографические кнопки
- •Литература
2.4. TStringGrid - таблица строк
Компонент TStringGrid предназначен для создания таблиц, в ячейках которых располагаются произвольные текстовые строки. Он является прямым потомком TDrawGrid, от которого им унаследовано большинство свойств и методов. |
|
Таблица делится на две части - фиксированную и рабочую. Фиксированная служит для показа заголовков столбцов/рядов и для ручного управления их размерами. Обычно фиксированная часть занимает крайний левый столбец и самый верхний ряд таблицы, однако с помощью свойств FixedCols и FixedRows можно задать другое количество фиксированных столбцов и рядов (если эти свойства имеют 0, таблица не содержит фиксированной зоны).
Рабочая часть - это остальная часть таблицы. Она может содержать произвольное количество столбцов и рядов, более того, эти величины могут изменяться программно. Рабочая часть может не умещаться целиком в пределах окна компонента, в этом случае в него автоматически помещаются нужные полосы прокрутки. При прокрутке рабочей области фиксированная область не исчезает, но меняется ее содержимое - заголовки строк и рядов. Центральным свойством компонента является Cells - двухмерный массив ячеек, каждая из которых может содержать произвольный текст. Конкретная ячейка определяется парой чисел - номером столбца и номером ряда, на пересечении которых она находится (нумерация начинается с нуля). Свойство Сells имеет тип String, поэтому программа может легко прочитать или записать содержимое нужной ячейки.
Количество ячеек по каждому измерению хранит пара свойств ColCount (количество столбцов) и RowCount (количество рядов). Значения этих свойств и, следовательно, размеры таблицы могут меняться как на этапе разработки программы, так и в ходе ее работы, однако их значения должны быть как минимум на единицу больше соответственно значений в свойства FixedCols и FixedRows, определяющих размеры фиксированной зоны.
Содержимое ячеек можно редактировать. Для этого в таблице используется специализированный потомок редактора TMaskEdit.
Свойства компонента:
BorderStyle |
Определяет рамку компонента |
Cells[X,Y] |
Определяет содержимое ячейки с табличными координатами (X,Y) |
Col |
Содержит номер столбца сфокусированной ячейки |
ColCount |
Содержит количество столбцов таблицы |
Cols[Index] |
Содержит все строки колонки с индексом Index |
ColWidths[Index] |
Содержит ширину столбца с индексом Index |
DefaultColWidth |
Содержит умалчиваемое значение ширины столбца |
DefaultDrawing
|
Разрешает/запрещает автоматическую прорисовку служебных элементов таблицы - фиксированной зоны, фона и прямоугольника сфокусированной ячейки и т. п. |
DefaultRowHeight |
Содержит умалчиваемую высоту рядов |
EditorMode |
Разрешает/запрещает редактирование ячеек. гнорируется, если свойство Options включает goAlwayseShowEditor или не включает goEditing |
FixedColor |
Определяет цвет фиксированной зоны |
FixedCols |
Определяет количество столбцов фиксированной зоны |
FixedRows |
Определяет количество рядов фиксированной зоны |
GridHeight |
Содержит высоту таблицы |
GridLineWidth |
Определяет толщину линий, расчерчивающих таблицу |
GridWidth |
Содержит ширину таблицы |
LeftCol |
Содержит номер самого левого столбца, видимого в зоне прокрутки |
Objects [X,Y] |
Обеспечивает доступ к объекту, связанному с ячейкой (X,Y) |
Options |
Содержит параметры таблицы |
Row: |
Содержит номер ряда сфокусированной ячейки |
RowCount |
Содержит количество рядов таблицы |
RowHeights[Index] |
Содержит высоту ряда с индексом Index |
Rows[Index] |
Содержит все строки ряда с индексом Index |
ScrollBars |
Определяет полосы прокрутки |
Selection |
Определяет группу выделенных ячеек |
TabStops[Index] |
Разрешает/запрещает выбирать столбец с индексом Index при обходе ячеек клавишей Tab. Игнорируется, если Options не содержит goTabs |
TopRow |
Содержит номер самого верхнего ряда, видимого в прокручиваемой зоне ячеек |
VisibleColCount |
Содержит количество столбцов, полностью видимых в зоне прокрутки |
VisibleRowCount |
Содержит количество рядов, полностью видимых в зоне прокрутки |
Элементы множества TGridOptions имеют следующий смысл:
goFixedVertLine |
Столбцы фиксированной зоны разделяются вертикальными линиями |
goFixedHorzLine |
Ряды фиксированной зоны разделяются горизонтальными линиями |
goVertLine |
Столбцы рабочей зоны разделяются вертикальными линиями |
goHorzLine |
Ряды рабочей зоны разделяются горизонтальными линиями |
goRangeSelect |
Разрешено выделение нескольких ячеек. Игнорируется, если включен элемент goEdit |
goDrawFocus Selected |
Разрешено выделять сфокусированную ячейку так же, как выделенные |
goRowSizing
|
Разрешено ручное (мышью) изменение высоты строк |
goColSizing |
Разрешено ручное изменение ширины рядов |
goRowMoviog |
Разрешено ручное перемещение рядов (нажать левую кнопку мыши на фиксированной ячейке перемещаемого ряда и, удерживая кнопку нажатой, переместить ряд на новое место) |
goColMoving |
Разрешено ручное перемещение столбца |
goEditing |
Разрешено редактирование ячейки. Игнорируется, если включен элемент goRowSelect. Редактирование начинается после щелчка мыши или нажатия клавиши F2 и завершается при щелчке по другой ячейке или нажатии клавиши Enter |
goTabs |
Разрешено обходить ячейки клавишей Tab (Shift+Tab) Обязывает выделять сразу все ячейки ряда и запрещает редактирование ячеек |