Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Изучение управляющего элемента StringGrid





Компонент StringGrid представляет собой таблицу, содержащую строки. Данные таблицы могут быть только для чтения или редактируемыми. Таблица может иметь полосы прокрутки, причем заданное число первых строк и столбцов может быть фиксированным и не прокручиваться. Таким образом, можно задать заголовки столбцов и строк, постоянно присутствующие в окне компонента. Каждой ячейке таблицы может быть поставлен в соответствие некоторый объект.

Компонент StringGrid находится на вкладке Additional панели компонентов.

Таблица StringGrid состоит из выделенных серым FixedCols и FixedRows - зафиксированных ячеек-заголовков, и обычных, белых ячеек. Содержимое Fixed ячеек недоступно для редактирования, и меняется только программно. Для установки количества фиксированных ячеек можно изменить значение свойств FixedCols и FixedRows в окне свойств Object Inspector. Или поменять количество фиксированных строк и столбцов программно, написав в коде программы следующие команды:

 

StringGrid1-> FixedCols=1; // устанавливает 1 фиксированный столбец

StringGrid1-> FixedRows=1; // устанавливает 1 фиксированную строку

 

Общее количество строк и столбцов в таблице можно установить вручную в окне Object Inspector, отредактировав свойства RowCount и ColCount, а можно изменить программно в ходе выполнения программного кода, написав следующие команды:

 

StringGrid1-> RowCount=5 //устанавливаем общее кол-во строк равное 5

StringGrid1-> ColCount=7 //устанавливаем общее кол-во столбцов равное 7

 

Эти свойства доступны как для записи (при установке количества строк и столбцов), так и для чтения (при проверке размер таблицы).

За многие свойства компонента StringGrid отвечает свойство Options. В Инспекторе Объектов Options – это раскрывающийся список, представляющий собой элементы данного множества. Если значение элемента равно True, то он присутствует в множестве, если False – то нет (рис. 5).

 

Рисунок 5 – Панель Object Inspector

Таблица 1. Свойства компонента StringGrid

   
Свойство Назначение
goFixedVertLine Наличие вертикальных разделительных линий между " фиксированными" ячейками
goFixedHorzLine Наличие горизонтальных разделительных линий между " фиксированными" ячейками
goVertLine Наличие вертикальных разделительных линий между " обычными" ячейками
goHorzLine Наличие горизонтальных разделительных линий между " обычными" ячейками
goRangeSelect Возможность выделить диапазон ячеек
goDrawFocusSelected Закрашивание ячейки с фокусом ввода
goRowSizing Возможность менять высоту строк мышкой
goColSizing Возможность менять ширину столбцов мышкой
goRowMoving Возможность менять номер строки, то есть перемещать её, мышкой
goColMoving Возможность менять номер столбца, то есть перемещать его, мышкой
goEditing Возможность редактировать содержимое ячейки с клавиатуры
goTabs При значении True фокус смещается на следующую ячейку в таблице, False - на следующий компонент
goRowSelect Выделяется вся строка с " фокусированной" ячейкой
goAlwaysShowEditor При значении True содержимое ячейки при получении фокуса сразу доступно редактированию, False - сначала необходимо щёлкнуть по ней мышкой (прим.: не действует при goRowSelect = True)
goThumbTracking При значении Tru e перемещение " бегунка" прокрутки мышкой вызывает немедленное перемещение ячеек, False - ячейки перемещаются только при отпускании " бегунка"

 

 

Как следует из таблицы, за возможность редактирования содержимого ячеек с клавиатуры отвечает элемент goEditing свойства-множества Options. В Инспекторе Объектов установите его значение в True. Чтобы управлять этой возможностью программно, нужно включить или исключить из множества данный элемент:

 

StringGrid1-> Options< < goEditing; /*Включаем редактирование, другие

элементы не трогаем*/

StringGrid1-> Options> > goEditing; /*Выключаем редактирование, другие

элементы не трогаем*/

 

Компонент StringGrid имеет возможность адресации каждой отдельной ячейки по номеру столбца и строки (рис. 6).

 

Рисунок 6 – Компонент StringGrid

 

Содержимое ячейки (i, j), где где i - номер столбца, j - номер строки, имеет вид: StringGrid 1-> Cells [ i ][ j ] и доступно как для чтения, так и для записи.

Например:

StringGrid 1-> Cells [ i ][ j ]=” Hello ”; - записывает слово в ячейку с координатами i и j.

a=StringGrid1-> Cells[i][j]; - считывает содержимое ячейки с координатами i и j в переменную a.

Номера столбцов (i) и строк (j) отсчитываются от нуля.

Выделенная ячейка таблицы имеет:

номер столбца: StringGrid1-> Col

номер строки: StringGrid1-> Row,

поэтому содержимое выделенной ячейки будет адресоваться так:

S=StringGrid1-> Cells[StringGrid1-> Col][StringGrid1-> Row];

У таблицы StringGrid также есть свойство и для управления размером ячеек. Для всех ячеек:

DefaultRowHeight - высота строк по умолчанию

DefaultColWidth - ширина столбцов по умолчанию

Эти значения ширины и высоты принимают все новые ячейки. При необходимости индивидуально установить ширину и высоту столбцов и строк соответственно, пользуемся свойствами:

RowHeights [ i ] - массив, содержащий высоты строк с номером i;

ColWidths [ i ] - массив, содержащий ширины столбцов с номером i.

Ширину, а также надписи заголовков, располагающиеся в строках и столбцах " фиксированной" зоны таблицы можно настроить в обработчике события OnCreate формы или в функции:

__fastcall TForm1:: TForm1(TComponent* Owner): TForm(Owner)

В результате таблица появляется уже в " настроенном" виде.

 

Задание 2.

Написать программу перемножения двух матриц размерностью 4х4. Защитить программу.

 







Дата добавления: 2014-11-10; просмотров: 943. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

Ваготомия. Дренирующие операции Ваготомия – денервация зон желудка, секретирующих соляную кислоту, путем пересечения блуждающих нервов или их ветвей...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

Экспертная оценка как метод психологического исследования Экспертная оценка – диагностический метод измерения, с помощью которого качественные особенности психических явлений получают свое числовое выражение в форме количественных оценок...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия