Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

TStringGrid



Использование многими пользователями электронных таблиц типа Excel стало практически неотъемлемой частью применения компьютеров. В системе Delphi 5 имеются два компонента, которые позволяют до некоторой степени сымитировать работу электронной таблицы, оставляя при этом, конечно, основную работу по реализации конкретных функций такой таблицы программистам.

Первый компонент – это таблица строк, позволяющая работать с тексто­вой информацией в двумерной таблице, имеющей столбцы и строки (их размеры можно менять с помощью мыши). Дополнительно, к каждой ячейке таб­лицы можно «привязать» свой объект, характеристики которого программист пред­ставит в виде строки, расположенной в этой ячейке.

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

Замечание: Нумерация элементов в таблице строк начинается с нуля.

Число столбцов задается в свойстве ColCount, число строк – в свойстве RowCount.

Следующий код программы изменяет размер таблицы, помещенной на форму в режиме проектирования (по умолчанию принят размер 5x5 элементов), на размер 10x10 ячеек и заполняет ячейки строками, содержащими их координаты.

procedure TForm1.FormCreate(Sender: TObject);

var c,r: integer; begin

StringGrid1.ColCount:= 10; StringGrid1.RowCount:= 10; for с:= 0 to StringGrid1.ColCount-1 do for r:= 0 to StringGrid1.RowCount-1 do StringGrid1.Cells[c,r]:=

'(' + IntToStr(c) + ',' + IntToStr(r) + ')'; end;

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

Замечание: Число строк и столбцов, имеющих характер заголовка, задается свойствами FixedCols и FixedRows. Если таблица не содержит заголовочной информации, эти свойства должны принимать значение 0.

Можно получить доступ ко всем элементам одного столбца или одной строки. Соответствующие свойства Col и Row имеют тип TStrings, позволяющий обращаться к нужному элементу по номеру.

Чтобы привязать к ячейке объект (наследник класса TObject), надо использовать свойство Objects, представляющее собой такой же массив, как Cells, но содержащий не строки, а объекты. Эти объекты должны создаваться, а также уничтожаться про­граммистом вручную, иными словами, весь контроль над состоянием этого массива полностью возлагается на разработчика. Свойство Objects предоставляет только доступ к нужному объекту.

Свойства, предназначенные для оформления таблицы строк:

Свойство Назначение
BorderStyle Стиль отрисовки ячейки. Значение этого свойства можно комбинировать со значением свойства Ctrl3D для получения оригинального вида ячеек
Ctrl3D Таблица представляется в «трехмерном» стиле
ColWidths Массив, хранящий ширину каждого столбца в пикселах
DefaultColWidth Начальная ширина столбца по умолчанию
DefaultDrawing Если значение свойства – true, производится автоматическая отрисовка содержимого каждой ячейки. В противном случае для таблицы необходимо определить обработчик события OnDrawCell, чтобы запрограммировать процесс отрисовки ячейки
DefaultRowHeight Начальная высота строки по умолчанию
FixedColor Цвет области строк и столбцов, служащих заголовком таблицы
GridHeight Высота всей таблицы (в пикселах)
GridLineWidth Ширина (в пикселах) линий, разделяющих ячейки таблицы
GridWidth Ширина всей таблицы (в пикселах)
Options Множество значений (тип set of TGridOption), позволяющее задавать различные режимы работы таблицы: выделение нескольких ячеек, способ использования линий прокрутки и прочие. В частности, чтобы разрешить изменение размеров строк и столбцов, надо установить значение true для свойств goRowSizing и goColSizing, вложенных в свойство Options. Чтобы разрешить редактирование содержимого ячеек, надо записать значение true в подсвойство goEditing
RowHeights Массив, хранящий высоту каждой строки в пикселах
ScrollBars Наличие полос прокрутки
VisibleColCount Число видимых в таблице столбцов (без области заголовка)

TImage

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

В большинстве случаев содержимое изображения загружается из файла на этапе проектирования. Для этого служит свойство Picture (класс TPicture), описывающее точечное изображение (.ВМР), значок, графический метафайл Windows или другой пользовательский графический ресурс. Класс TPicture (рисунок) не является компо­нентом Delphi 5, он просто входит в состав библиотеки VCLкак вспомогательный, но на его основе могут быть созданы полноценные компоненты.

Текущее содержимое экземпляра класса хранится в одном из свойств: Bitmap (класс TBitmap), Icon (значок, класс TIcon) или Metafile (класс TMetafile, формат графичес­кого метафайла Windows.EMF). Обратиться к любому из этих свойств для отобра­жения графики можно через свойство Graphic. Ширина и высота изображения (в пикселах) задаются в свойствах Width и Height.

После размещения объекта Image на форме появится пунктирная рамка, которая задает (по умолчанию) размеры будущей картинки. Эти размеры желательно зара­нее указать в свойствах Width и Height.

Выбрав в Инспекторе объектов свойство Picture, можно вызвать специальный редак­тор, с помощью которого можно загрузить изображения в форматах.BMP,.ICO, JPGили в одном из форматов графического метафайла Windows.

TChart

Это очень мощный и богатый возможностями компонент, разработанный Давидом Бернеда (версия, включенная в систему Delphi 5, имеет номер 4.02). Он позволяет строить красивые двух- и трехмерные диаграммы на основе различ­ных данных, является наследником класса TPanel и наследует все свойства панели.

Создать диаграмму можно двумя способами: визуально с помощью Мастера (без программирования) и непосредственно средствами Паскаля.

Мастер запускается командой File > New > Business > TeeChart Wizard (Файл > Создать > Деловые > Мастер диаграмм), после чего разработчику надо выпол­нить ряд уточнений. Сначала выбирается источник данных. Пусть он не располо­жен в файле, а генерируется программой – переключатель Non Database Chart (He на основе базы данных). Затем выбирается внешний вид диаграммы. Она может быть двумерной или трехмерной что определяется переключателем 2D/3D.

На следующем этапе работы Мастера флажок Show Legend (Отображать легенду) опре­деляет наличие легенды –дополнительной панели, на которой указывается соответ­ствие цветов частей диаграммы указанным значениям. Флажок Show Marks включает небольшие желтые подсказки у каждой из частей диаграммы.

На этом создание диаграммы заканчивается. После щелчка на кнопке Finish (Готово) в Проектировщике форм появится новая форма, на которой будет расположен объект Chart1. Он заполнен неким набором случайно сгенерированных значений.

Настройка диаграммы выполняется с помощью редактора, который вызывается двойным щелчком на объекте Chart1.

Параметры отображения диаграммы в окне определяются на вкладке Chart (Диа­грамма), состоящей в свою очередь из набора дополнительных панелей.

ü Панель Series (Ряд данных) очень важна. Она позволяет объединять несколько диаграмм на одном графике с помощью кнопки Add (Добавить). При этом над значениями рядов данных можно выполнять различные операции, зада­ваемые на вкладке Functions (Функции): сложение (Add), вычитание (Subtract), умножение (Multiply), деление (Divide), взятие наибольшего (High), наимень­шего (Low) или среднего (Average) значения.

ü Панель General (Общие) содержит элементы управления для:

· экспорта изображения в файл – кнопка Export (Экспортировать);

· установки (в процентах) сдвига границ изображения по отношению к границам объекта – поля Margins (Поля);

· масштабирования – панель Zoom (Масштаб);

· прокрутки – панель Allow Scroll (Разрешить прокрутку).

ü Средства панели Axis (Оси) отвечают за все, что касается определения коорди­натных осей, их масштаба, заголовков, шага пунктирной сетки и так далее.

ü Панель Titles (Заголовки) содержит средства для оформления заголовка.

ü Панель Legend (Легенда) используется при оформлении внешнего вида и содержимого легенды.

ü Средства панели Panel (Панель) описывают форму и визуальное представление панели-основы, на которой расположена диаграмма.

ü Панель Pages (Страницы) служит для разделения диаграммы на страницы. Увеличивая число точек на странице с помощью поля Points per Page (Точки на страницу), можно подобрать оптимальное соотношение между наглядностью диаграмм и разумным числом страниц.

ü Панель Walls (Границы) позволяет задать цвет и размеры границ диаграммы.

ü Панель 3D описывает пространственное представление трехмерных диа­грамм. С помощью нескольких движков проектируемую диаграмму можно вращать и масштабировать.

На вкладке Series (Ряды данных) в редакторе задаются конкретные параметры оформления каждого ряда данных (каждого графика, добавленного при помощи вкладки Chart). Выбор текущего ряда данных производится с помощью раскрывающегося списка Area (Область).

Здесь наиболее важна панель Data Source (Источник данных). С ее помощью можно задать для ряда случайные значения (Random Values), отказаться от генерации значений (No Data) или сформировать значения текущего ряда данных как результат применения некоторой функции (раскрывающийся список Function) к значениям выбранных рядов данных. Выбор рядов данных – занесение в список Selected Series (Выбранные ряды) осуществляется с помощью кнопки >.

Добавление новой точки к серии выполняется с помощью метода Add, заголовок которого выглядит следующим образом.

function AddXY (Const AXValue, AYValue: Double; Const AXLabel: String; AColor: TColor): Longint;

Обработчик щелчка на кнопке, например, Button1 запишется следующим образом.

procedure TForm1.ButtonlClick(Sender: TObject); begin

Series1.AddXY(

StrToFloat(Edit1.Text),

StrToFloat(Edit2.Text),

'Эксперимент A', clRed); end;





Дата публикования: 2014-11-19; Прочитано: 785 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...