Графическое построение объектов в среде Delphi
Основные характеристики Delphi. Компилятор, встроенный в Delphi. Объектно-ориентированная модель программных компонент. Визуальные инструменты для скоростной разработки приложений. Создание панели быстрого доступа к командам. Компоненты вкладки Standard.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 27.02.2012 |
Размер файла | 371,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Реферат
на тему:
Графическое построение объектов в среде Delphi
Выполнила студентка ОЗО ФМО 4 курса Зибарева А.Г.
Содержание
1. Немного из истории программного продукта
2. Графические средства Delphi
3. Обзор Палитры Компонент
4. Компоненты вкладки Standard
5. Графические компоненты Additional
1. Немного из истории программного продукта
Delphi - это греческий город, где жил дельфийский оракул. И этим именем был назван программный продукт с феноменальными характеристиками, который разработала компания Borland. Первая версия продукта явилась результатом разработки, которая велась компанией в обстановке строжайшей секретности в течение двух с половиной лет.
Hадо отметить, что к моменту выхода продукта обстановка вокруг компании Borland складывалась не лучшим для нее образом. Поговаривали о возможной перепродаже компании, курс акций компании неудержимо катился вниз. Далее дела пошли лучше. Hе верно, конечно, было бы говорить, что только Delphi явился причиной восстановления компании; кроме Delphi, у Borland появились и другие замечательные продукты, так же, как и Delphi, основывающиеся на новых, на тот момент, технологиях: BDE 2.0, BC++ 4.5, Paradox for Windows 5.0, dBase for Windows 5.0, BC++ 2.0 for OS/2. На данный момент используются более новые версии данных продуктов.
Тем не менее, именно Delphi стал тем продуктом, на примере которого стало ясно, что у Borland есть еще порох в пороховницах, и что один единственный продукт может настолько удачно сочетать несколько передовых технологий.
Delphi. Основные характеристики продукта.
Delphi - это комбинация нескольких важнейших технологий:
- Высокопроизводительный компилятор в машинный код;
- Объектно-ориентированная модель компонент;
- Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов;
- Масштабируемые средства для построения баз данных.
- Компилятор в машинный код
Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре “клиент-сервер”. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL.
Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на Си или ручного написания кода (хотя это возможно).
В процессе построения приложения разработчик выбирает из палитры компонент готовые компоненты как художник, делающий крупные мазки кистью. Еще до компиляции он видит результаты своей работы - после подключения к источнику данных их можно видеть отображенными на форме, что является одним из важнейших преимуществ и удобств, можно перемещаться по данным, представлять их в том или ином виде.
В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10-20 раз быстрее, чем, то же самое, сделанное при помощи интерпретатора. Кроме того, компилятор компилятору рознь, в Delphi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом быстродействии готового приложения.
Объектно-ориентированная модель программных компонент
Основной упор этой модели в Delphi делается на максимальном реиспользовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi.
Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует.
Действительно, все в Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые вы можете создать.
В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов. Для начала - неплохо. Но если возникнет необходимость в решении какой-то специфической проблемы на Delphi, советуем, прежде чем попытаться начинать решать проблему “с нуля”, просмотреть список свободно распространяемых или коммерческих компонент, разработанных третьими фирмами, количество этих фирм достаточно велико, появляются всё время новые компоненты, которые можно найти в Интернете.
Скептики, возможно, не поверят мне, когда я скажу, что на Delphi можно одинаково хорошо писать как приложения к корпоративным базам данных, так и, к примеру, игровые программы. Тем не менее, это так. Во многом это объясняется тем, что традиционно в среде Windows было достаточно сложно реализовывать пользовательский интерфейс. Событийная модель в Windows всегда была сложна для понимания и отладки. Но именно разработка интерфейса в Delphi является самой простой задачей для программиста.
Cреда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений (RAD - rapid application development), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL - библиотека визуальных компонент, включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE. Единственное, что можно поставить в вину Delphi, это то, что готовых компонент, поставляемых Borland, могло бы быть и больше. Однако, разработки других фирм, а также свободно распространяемые программистами freeware-компоненты уже восполнили этот недостаток.
2. Графические средства Delphi
Они позволяют воспроизводить на экране дисплея статические или динамические рисунки, отображающие действия программы или пользователя, манипулировать с изображениями или их фрагментами, сохранять рисунки в дисковых файлах или передавать их другим приложениям.
В системе Delphi существует более десятка компонент и графических объектов, используемых для визуализации различных изображений, создаваемых программным путем или отображающих содержимое некоторых графических файлов. Их всех роднит свойство Canvas, которое собственно и обеспечивает компоненты поверхностью (канвой), способной хранить графические образы.
С целью экономии ресурсов под канву большинства видимых графических объектов временно выделяется соответствующий участок видеопамяти. Поэтому такие объекты иногда называют экранными, и созданное на их поверхности изображение остается видимым до тех пор, пока содержащее их окно не будет свернуто или перекрыто другим окном. Чтобы изображение появилось вновь, программист должен предусмотреть индивидуальные средства восстановления рисунка в обработчике события OnPaint. Экранные объекты оперативно отражают результат каждой графической процедуры, выполненной на их канве.
В отличие от сугубо экранных объектов существуют графические компоненты, канва которых продублирована соответствующим участком оперативной памяти. Одним из таких объектов является компонент типа TImage. Изображения, создаваемые на их поверхности, сохраняются до тех пор, пока соответствующий объект не будет уничтожен. Единственное неудобство объекта типа TImage заключается в том, что содержимое его канвы продолжает оставаться невидимым до тех пор, пока процесс построения соответствующего графического образа не будет завершен. Зато графические изображения, выполненные на поверхности компонент TImage, автоматически восстанавливаются при обновлении свернутой или частично перекрытой формы.
3. Обзор Палитры Компонент
В данном пункте дается обзор стандартных и дополнительных компонент из Палитры Компонент Delphi (стр. Standard и Additional), и страницы диалогов (Dialogs), а также системных компонент (стр. System),
Стандартные компоненты
На первой странице Палитры Компонент размещены 14 объектов (рис.8) определенно важных для использования. Мало кто обойдется длительное время без кнопок, списков, окон ввода и т.д. Все эти объекты такая же часть Windows, как мышь или окно.
Набор и порядок компонент на каждой странице являются конфигурируемыми. Так, Вы можете добавить к имеющимся компонентам новые, изменить их количество и порядок. Это можно сделать, вызвав всплывающее меню (нажать правую кнопку мыши, когда указатель над Палитрой).
Рис.8: Компоненты, расположенные на первой странице Палитры.
Стандартные компоненты Delphi перечислены ниже с некоторыми комментариями по их применению. При изучении данных компонент было бы полезно иметь под рукой компьютер с тем, чтобы посмотреть, как они работают и как ими манипулировать.
Курсор - не компонент, просто пиктограмма для быстрой отмены выбора какого-либо объекта.
TMainMenu позволяет Вам поместить главное меню в программу. При помещении TMainMenu на форму это выглядит, как просто иконка. Иконки данного типа называют "невидимыми компонентом", поскольку они невидимы во время выполнения программы. Создание меню включает три шага: (1) помещение TMainMenu на форму, (2) вызов Дизайнера Меню через свойство Items в Инспекторе Объектов, (3) определение пунктов меню в Дизайнере Меню.
TPopupMenu позволяет создавать всплывающие меню. Этот тип меню появляется по щелчку правой кнопки мыши на объекте, к которому привязано данное меню. У всех видимых объектов имеется свойство PopupMenu, где и указывается нужное меню. Создается PopupMenu аналогично главному меню.
TLabel служит для отображения текста на экране. Вы можете изменить шрифт и цвет метки, если дважды щелкнете на свойство Font в Инспекторе Объектов. Вы увидите, что это легко сделать и во время выполнения программы, написав всего одну строчку кода.
TEdit - стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы.
TMemo - иная форма TEdit. Подразумевает работу с большими текстами. TMemo может переносить слова, сохранять в ClipBoard фрагменты текста и восстанавливать их, и другие основные функции редактора. TMemo имеет ограничения на объем текста в 32Кб, это составляет 10-20 страниц. (Есть VBX и “родные” компоненты Delphi, где этот предел снят).
TButton позволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. В Delphi все делается очень просто. Поместив TButton на форму, Вы по двойному щелчку можете создать заготовку обработчика события нажатия кнопки. Далее нужно заполнить заготовку кодом:
procedure TForm1.Button1Click(Sender: TObject);
begin
MessageDlg('Are you there?',mtConfirmation,mbYesNoCancel,0);
end;
TCheckBox отображает строку текста с маленьким окошком рядом. В окошке можно поставить отметку, которая означает, что что-то выбрано. Например, если посмотреть окно диалога настроек компилятора (пункт меню Options | Project, страница Compiler), то можно увидеть, что оно состоит преимущественно из CheckBox'ов.
TRadioButton позволяет выбрать только одну опцию из нескольких. Если Вы опять откроете диалог Options | Project и выберете страницу Linker Options, то Вы можете видеть, что секции Map file и Link buffer file состоят из наборов RadioButton.
TListBox нужен для показа прокручиваемого списка. Классический пример ListBox'а в среде Windows - выбор файла из списка в пункте меню File | Open многих приложений. Названия файлов или директорий и находятся в ListBox'е.
TComboBox во многом напоминает ListBox, за исключением того, что позволяет водить информацию в маленьком поле ввода сверху ListBox. Есть несколько типов ComboBox, но наиболее популярен спадающий вниз (drop-down combo box), который можно видеть внизу окна диалога выбора файла.
TScrollbar - полоса прокрутки, появляется автоматически в объектах редактирования, ListBox'ах при необходимости прокрутки текста для просмотра.
TGroupBox используется для визуальных целей и для указания Windows, каков порядок перемещения по компонентам на форме (при нажатии клавиши TAB).
TRadioGroup используется аналогично TGroupBox, для группировки объектов TRadioButton.
TPanel - управляющий элемент, похожий на TGroupBox, используется в декоративных целях. Чтобы использовать TPanel, просто поместите его на форму и затем положите другие компоненты на него. Теперь при перемещении TPanel будут передвигаться и эти компоненты. TPanel используется также для создания линейки инструментов и окна статуса.
Это полный список объектов на первой странице Палитры Компонент. Если Вам нужна дополнительная информация, то выберите на Палитре объект и нажмите клавишу F1 - появится Справочник с полным описанием данного объекта.
Страница Additional (Дополнительно)
На странице Standard представлены управляющие элементы, появившиеся в Windows 3.0. На странице Additional размещены объекты, позволяющие создать более красивый пользовательский интерфейс программы.
Список компонент:
TBitBtn - кнопка вроде TButton, однако на ней можно разместить картинку (glyph). TBitBtn имеет несколько предопределенных типов (bkClose, bkOK и др), при выборе которых кнопка принимает соответствующий вид. Кроме того, нажатие кнопки на модальном окне (Form2.ShowModal) приводит к закрытию окна с соответствующим модальным результатом (Form2.ModalResult).
TSpeedButton - кнопка для создания панели быстрого доступа к командам (SpeedBar). Пример - SpeedBar слева от Палитры Компонент в среде Delphi. Обычно на данную кнопку помещается только картинка (glyph).
TTabSet - горизонтальные закладки. Обычно используется вместе с TNoteBook для создания многостраничных окон. Название страниц можно задать в свойстве Tabs. Но проще это сделать в программе при создании формы (OnCreate) :
TabSet1.Tabs := Notebook1.Pages;
А для того, чтобы при выборе закладки страницы перелистывались нужно в обработчике события OnClick для TTabSet написать:
Notebook1.PageIndex := TabSet1.TabIndex;
TNoteBook - используется для создания многостраничного диалога, на каждой странице располагается свой набор объектов. Используется совместно с TTabSet.
TTabbedNotebook - многостраничный диалог со встроенными закладками, в данном случае - закладки сверху.
TMaskEdit - аналог TEdit, но с возможностью форматированного ввода. Формат определяется в свойстве EditMask. В редакторе свойств для EditMask есть заготовки некоторых форматов: даты, валюты и т.п. Спец. символы для маски можно посмотреть в Справочнике.
TOutline - используется для представления иерархических отношений связанных данных. Например - дерево директорий.
TStringGrid - служит для представления текстовых данных в виде таблицы. Доступ к каждому элементу таблицы происходит через свойство Cell.
TDrawGrid - служит для представления данных любого типа в виде таблицы. Доступ к каждому элементу таблицы происходит через свойство CellRect.
TImage - отображает графическое изображение на форме. Воспринимает форматы BMP, ICO, WMF. Если картинку подключить во время дизайна программы, то она прикомпилируется к EXE файлу.
TShape - служит для отображения простейших графических объектов на форме: окружность, квадрат и т.п.
TBevel - элемент для рельефного оформления интерфейса.
THeader - элемент оформления для создания заголовков с изменяемыми размерами для таблиц.
TScrollBox - позволяет создать на форме прокручиваемую область с размерами большими, нежели экран. На этой области можно разместить свои объекты.
Страница Dialogs
На странице Dialogs представлены компоненты для вызова стандартных диалогов Windows.
Внешний вид диалогов зависит от используемой версии Windows. Объекты, представленные на данной странице невидимы во время выполнения и вызов диалогов происходит программно, например:
if OpenDialog1.Execute then Image1.Picture.LoadFromFile(OpenDialog1.FileName);
Диалоги Windows в порядке появления на странице Dialogs:
OpenDialog - выбрать файл;
SaveDialog - сохранить файл;
OpenPictureDialog - открыть изображение;
SavePictureDialog - сохранить изображение;
FontDialog - настроить шрифт;
ColorDialog - выбор цвета;
PrintDialog - печать;
PrinterSetupDialog - настройка принтера;
FindDialog - поиск строки;
ReplaceDialog - поиск с заменой.
Страница System
Страница представляет набор компонент для доступа к некоторым системным сервисам типа таймер, DDE, OLE и т.п.
delphi компилятор приложение команда
TTimer - таймер, событие OnTimer периодически вызывается через промежуток времени, указанный в свойстве Interval. Период времени может составлять от 1 до 65535 мс.
TPaintBox - место для рисования. В обработчики событий, связанных с мышкой передаются относительные координаты мышки в TPaintBox, а не абсолютные в форме.
TFileListBox - специализированный ListBox, в котором отображаются файлы из указанной директории (св-во Directory). На названия файлов можно наложить маску, для этого служит св-во Mask. Кроме того, в св-ве FileEdit можно указать объект TEdit для редактирования маски.
TDirectoryListBox - специализированный ListBox, в котором отображается структура директорий текущего диска. В св-ве FileList можно указать TFileListBox, который будет автоматически отслеживать переход в другую директорию.
TDriveComboBox - специализированный ComboBox для выбора текущего диска. Имеет свойство DirList, в котором можно указать TDirectoryListBox, который будет отслеживать переход на другой диск.
TFilterComboBox - специализированный ComboBox для выбора маски имени файлов. Список масок определяется в свойстве Filter. В свойстве FileList указывается TFileListBox, на который устанавливается маска.
!!!! С помощью последних четырех компонент (TFileListBox, TDirectoryListBox, TDriveComboBox, TFilterComboBox) можно построить свой собственный диалог выбора файла, причем для этого не потребуется написать ни одной строчки кода.
TMediaPlayer - служит для управления мултимедйными устройствами (типа CD-ROM, MIDI и т.п.). Выполнен в виде панели управления с кнопками Play, Stop, Record и др. Для воспроизведения может понадобиться как соответствующее оборудование, так и программное обеспечение. Подключение устройств и установка ПО производится в среде Windows. Например, для воспроизведения видео, записанного в формате AVI, в потребуется установить ПО MicroSoft Video (в Windows 3.0, 3.1, WFW 3.11).
TOLEContainer - контейнер, содержащий OLE объекты. Поддерживается OLE 2.02 Подробнее об этом - в последующих уроках.
TDDEClientConv,TDDEClientItem, TDDEServerConv, TDDEServerItem - 4 объекта для организации DDE. С помощью этих объектов можно построить приложение как DDE-сервер, так и DDE-клиент. Подробнее - в следующих уроках.
4. Компоненты вкладки Standard
Программа вычисления скорости бега должна получить от пользователя исходные данные -- длину дистанции и время, за которое спортсмен пробежал дистанцию. В подобных программах данные с клавиатуры, как правило, вводят в поля редактирования. Поэтому в форму надо добавить компонент Edit -- поле редактирования.
Наиболее часто используемые компоненты находятся на вкладке Standard (рис. В16).
Для того чтобы добавить в форму компонент, необходимо в палитре компонентов выбрать этот компонент, щелкнув левой кнопкой мыши на его пиктограмме, далее установить курсор в ту точку формы, в которой должен быть левый верхний угол компонента, и еще раз щелкнуть левой кнопкой мыши. В результате в форме появляется компонент стандартного размера.
Рис. В16. Вкладка Standard содержит наиболее часто используемые компоненты
Размер компонента можно задать в процессе его добавления к форме. Для этого надо после выбора компонента из палитры поместить курсор мыши в ту точку формы, где должен находиться левый верхний угол компонента, нажать левую кнопку мыши и, удерживая ее нажатой, переместить курсор в точку, где должен находиться правый нижний угол компонента, затем отпустить кнопку мыши. В форме появится компонент нужного размера.
Каждому компоненту Delphi присваивает имя, которое состоит из названия компонента и его порядкового номера. Например, если к форме добавить два компонента Edit, то их имена будут Edit1 и Edit2. Программист путем изменения значения свойства Name может изменить имя компонента. В простых программах имена компонентов, как правило, не изменяют.
На рис. В17 приведен вид формы после добавления двух компонентов Edit полей редактирования, предназначенных для ввода исходных данных. Один из компонентов выделен. Свойства выделенного компонента отображаются в окне Object Inspector. Чтобы увидеть свойства другого компонента, надо щелкнуть левой кнопкой мыши на изображении нужного компонента. Можно также выбрать имя компонента в окне Object TreeView или из находящегося в верхней части окна Object Inspector раскрывающегося списка объектов.
Рис. В17. Форма после добавления компонентов Edit
В табл. В3 перечислены основные свойства компонента Edit -- поля ввода-редактирования.
Таблица ВЗ. Свойства компонента Edit (поле ввода-редактирования)
Свойство |
Описание |
|
Name |
Имя компонента. Используется в программе для доступа к компоненту и его свойствам, в частности -- для доступа к тексту, введенному в поле редактирования |
|
Text |
Текст, находящийся в поле ввода и редактирования |
|
Left |
Расстояние от левой границы компонента до левой границы формы |
|
Top |
Расстояние от верхней границы компонента до верхней границы формы |
|
Height |
Высота поля |
|
Width |
Ширина поля |
|
Font |
Шрифт, используемый для отображения вводимого текста |
|
ParentFont |
Признак наследования компонентом характеристик шрифта формы, на которой находится компонент. Если значение свойства равно True, то при изменении свойства Font формы автоматически меняется значение свойства Font компонента |
|
Delphi позволяет изменить размер и положение компонента при помощи мыши.
Для того чтобы изменить положение компонента, необходимо установить курсор мыши на его изображение, нажать левую кнопку мыши и, удерживая ее нажатой, переместить контур компонента в нужную точку формы, затем отпустить кнопку мыши. Во время перемещения компонента (рис. В18) отображаются текущие значения координат левого верхнего угла компонента (значения свойств Left и тор).
Для того чтобы изменить размер компонента, необходимо его выделить, установить указатель мыши на один из маркеров, помечающих границу компонента, нажать левую кнопку мыши и, удерживая ее нажатой, изменить положение границы компонента. Затем отпустить кнопку мыши. Во время изменения размера компонента отображаются текущие значения свойств Height И Width (рис. В19).
Свойства компонента так же, как и свойства формы, можно изменить при помощи Object Inspector. Для того чтобы свойства требуемого компонента были выведены в окне Object Inspector, нужно выделить этот компонент (щелкнуть мышью на его изображении). Можно также выбрать компонент из находящегося в верхней части окна Object Inspector раскрывающегося списка объектов (рис. В20) или из списка в окне Object TreeView (рис. В21).
Рис. В18. Отображение текущих значений свойств Left и Тор при изменении положения компонента
Рис. В19. Отображение текущих значений свойств Height и Width при изменении размера компонента
Рис. В20. Выбор компонента
Рис. В21. Выбор компонента из списка в окне Object Inspector в окне Object TreeView
В табл. В4 приведены значения свойств полей редактирования Editi и Edit2. Компонент Editi предназначен для ввода длины дистанции, Edit2 -- для ввода времени.
Обратите внимание на то, что значением свойства Text обоих компонентов является пустая строка.
Таблица В4. Значения свойств компонентов Edit
Свойство |
Компонент |
||
Edit1 |
Edit2 |
||
Text |
|||
Тор |
56 |
88 |
|
Left |
128 |
128 |
|
Height |
21 |
21 |
|
Width |
121 |
121 |
|
Помимо полей редактирования в окне программы должна находиться краткая информация о программе и назначении полей ввода. Для вывода текста в форму используют поля вывода текста. Поле вывода текста (поле статического текста) -- это компонент Label. Значок компонента Label находится на вкладке Standard (рис. В22). Добавляется компонент Label в форму точно так же, как и поле редактирования.
Рис. В22. Компонент Label -- поле вывода текста
В форму разрабатываемого приложения надо добавить четыре компонента Label. Первое поле предназначено для вывода информационного сообщения, второе и третье -- для вывода информации о назначении полей ввода, четвертое поле -- для вывода результата расчета (скорости).
Свойства компонента Label перечислены в табл. В5.
Таблица В5. Свойства компонента Label (поле вывода текста)
Свойство |
Описание |
|
Name |
Имя компонента. Используется в программе для доступа к компоненту и его свойствам |
|
Caption |
Отображаемый текст |
|
Font |
Шрифт, используемый для отображения текста |
|
ParentFont |
Признак наследования компонентом характеристик шрифта формы, на которой находится компонент. Если значение свойства равно True, текст выводится шрифтом, установленным для формы |
|
AutoSize |
Признак того, что размер поля определяется его содержимым |
|
Left |
Расстояние от левой границы поля вывода до левой границы формы |
|
Top |
Расстояние от верхней границы поля вывода до верхней границы формы |
|
Height |
Высота поля вывода |
|
Width |
Ширина поля вывода |
|
Wordwrap |
Признак того, что слова, которые не помещаются в текущей строке, автоматически переносятся на следующую строку |
Следует обратить внимание на свойства Autosize и Wordwrap. Эти свойства нужно использовать, если поле вывода должно содержать несколько строк текста. После добавления к форме компонента Label значение свойства Autosize равно True, т. е. размер поля определяется автоматически в процессе изменения значения свойства caption. Если вы хотите, чтобы находящийся в поле вывода текст занимал несколько строк, то надо сразу после добавления к форме компонента Label присвоить свойству Autosize значение False, свойству wordwrap -- значение True. Затем изменением значений свойств width и Height нужно задать требуемый размер поля. Только после этого можно ввести в свойство caption текст, который должен быть выведен в поле.
После добавления полей вывода текста (четырех компонентов Label) и установки значений их свойств в соответствии с табл. В6 форма программы принимает вид, приведенный на рис. В23.
Обратите внимание, что значение свойства caption вводится как одна строка. Расположение текста внутри поля вывода определяется размером поля, значением свойств Autosize и wordwrap, а также зависит от характеристик используемого для вывода текста шрифта.
Рис. В23. Вид формы после добавления полей вывода текста
Таблица В6. Значения свойств компонентов Label1, Label2, Label3 И Label4
Компонент |
Свойство |
Значение |
|
Labell |
AutoSize |
False |
|
Wordwrap |
True |
||
Caption |
Программа вычислит скорость, с которой спортсмен пробежал дистанцию |
||
Top |
8 |
||
Left |
8 |
||
Height |
33 |
||
Width |
209 |
||
Label2 |
Top |
56 |
|
Left |
8 |
||
Caption |
Дистанция (метров) |
||
Label3 |
Top |
88 |
|
Left |
8 |
||
Caption |
Время (минуты, секунды) |
||
Label4 |
AutoSize |
False |
|
Wordwrap |
True |
||
Top |
120 |
||
Компонент |
Свойство |
Значение |
|
Label 4 |
Left |
8 |
|
Height |
41 |
||
Width |
273 |
Последнее, что надо сделать на этапе создания формы -- добавить в форму две командные кнопки: Вычислить и Завершить. Назначение этих кнопок очевидно.
Командная кнопка, компонент Button, добавляется в форму точно так же, как и другие компоненты. Значок компонента Button находится на вкладке Standard (рис. В24). Свойства компонента приведены в табл. В7.
Рис. В24. Командная кнопка -- компонент Button
Таблица В7. Свойства компонента Button (командная кнопка)
Свойство |
Описание |
|
Name |
Имя компонента. Используется в программе для доступа к компоненту и его свойствам |
|
Caption |
Текст на кнопке |
|
Enabled |
Признак доступности кнопки. Кнопка доступна, если значение свойства равно True, и недоступна, если значение свойства равно False |
|
Left |
Расстояние от левой границы кнопки до левой границы формы |
|
Top |
Расстояние от верхней границы кнопки до верхней границы формы |
|
Height |
Высота кнопки |
|
Width |
Ширина кнопки |
После добавления к форме двух командных кнопок нужно установить значения их свойств в соответствии с табл. В8.
Таблица В8. Значения свойств компонентов Button1 и Button2
Свойство |
Компонент |
||
Button1 |
Button2 |
||
Caption |
Вычислить |
Завершить |
|
Тор |
176 |
176 |
|
Left |
16 |
112 |
|
Height |
25 |
25 |
|
Width |
75 |
75 |
Окончательный вид формы разрабатываемого приложения приведен на рис. В25.
Рис. В25. Форма программы Скорость бега
· Завершив работу по созданию формы приложения, можно приступить к написанию текста программы.
5. Графические компоненты Additional
В стандартную библиотеку визуальных компонент Delphi входит несколько объектов, с помощью которых можно придать своей программе совершенно оригинальный вид. Это - TImage (TDBImage), TShape, TBevel.
TImage позволяет поместить графическое изображение в любое место на форме. Этот объект очень прост в использовании - выберите его на странице Additional и поместите в нужное место формы. Собственно картинку можно загрузить во время дизайна в редакторе свойства Picture (Инспектор Объектов). Картинка должна храниться в файле в формате BMP (bitmap), WMF (Windows Meta File) или ICO (icon). (TDBImage отображает картинку, хранящуюся в таблице в поле типа BLOB. При этом доступен только формат BMP.)
Как известно, форматов хранения изображений гораздо больше трех вышеназванных (например, наиболее известны PCX, GIF, TIFF, JPEG). Для включения в программу изображений в этих форматах нужно либо перевести их в формат BMP, либо найти библиотеки третьих фирм, в которых есть аналог TImage, “понимающий” данные форматы (есть как VBX объекты, так и “родные” объекты для Delphi).
При проектировании следует помнить, что изображение, помещенное на форму во время дизайна, включается в файл .DPR и затем прикомпилируется к EXE файлу. Поэтому такой EXE файл может получиться достаточно большой. Как альтернативу можно рассмотреть загрузку картинки во время выполнения программы, для этого у свойства Picture (которое является объектом со своим набором свойств и методов) есть специальный метод LoadFromFile. Это делается, например, так:
if OpenDialog1.Execute then
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
Важными являются свойства объекта Center и Stretch - оба имеют булевский тип. Если Center установлено в True, то центр изображения будет совмещаться с центром объекта TImage. Если Stretch установлено в True, то изображение будет сжиматься или растягиваться таким образом, чтобы заполнить весь объект TImage.
TShape - простейшие графические объекты на форме типа круг, квадрат и т.п. Вид объекта указывается в свойстве Shape. Свойство Pen определяет цвет и вид границы объекта. Brush задает цвет и вид заполнения объекта. Эти свойства можно менять как во время дизайна, так и во время выполнения программы.
TBevel - объект для украшения программы, может принимать вид рамки или линии. Объект предоставляет меньше возможностей по сравнению с TPanel, но не занимает ресурсов. Внешний вид указывается с помощью свойств Shape и Style.
Свойство объектов Canvas
У ряда объектов из библиотеки визуальных компонент есть свойство Canvas (канва), которое предоставляет простой путь для рисования на них. Эти объекты - TBitmap, TComboBox, TDBComboBox, TDBGrid, TDBListBox, TDirectoryListBox, TDrawGrid, TFileListBox, TForm, TImage, TListBox, TOutline, TPaintBox, TPrinter, TStringGrid. Canvas является в свою очередь объектом, объединяющим в себе поле для рисования, карандаш (Pen), кисть (Brush) и шрифт (Font). Canvas обладает также рядом графических методов : Draw, TextOut, Arc, Rectangle и др. Используя Canvas, Вы можете воспроизводить на форме любые графические объекты - картинки, многоугольники, текст и т.п. без использования компонент TImage,TShape и TLabel (т.е. без использования дополнительных ресурсов), однако при этом Вы должны обрабатывать событие OnPaint того объекта, на канве которого Вы рисуете. Рассмотрим подробнее свойства и методы объекта Canvas.
Свойства Canvas :
Brush -кисть, является объектом со своим набором свойств:
Bitmap - картинка размером строго 8x8, используется для заполнения (заливки) области на экране.
Color - цвет заливки.
Style - предопределенный стиль заливки; это свойство конкурирует со свойством Bitmap - какое свойство Вы определили последним, то и будет определять вид заливки.
Handle - данное свойство дает возможность использовать кисть в прямых вызовах процедур Windows API .
ClipRect - (только чтение) прямоугольник, на котором происходит графический вывод.
CopyMode - свойство определяет, каким образом будет происходить копирование (метод CopyRect) на данную канву изображения из другого места: один к одному, с инверсией изображения и др.
Font - шрифт, которым выводится текст (метод TextOut).
Handle - данное свойство используется для прямых вызовов Windows API.
Pen - карандаш, определяет вид линий; как и кисть (Brush) является объектом с набором свойств:
Color - цвет линии
Handle - для прямых вызовов Windows API
Mode - режим вывода: простая линия, с инвертированием, с
выполнением исключающего или и др.
Style - стиль вывода: линия, пунктир и др.
Width - ширина линии в точках
PenPos - текущая позиция карандаша, карандаш рекомендуется перемещать с помощью метода MoveTo, а не прямой установкой данного свойства.
Pixels - двухмерный массив элементов изображения (pixel), с его помощью Вы получаете доступ к каждой отдельной точке изображения (см. пример к данному уроку).
Методы Canvas:
Методы для рисования простейшей графики - Arc, Chord, LineTo, Pie, Polygon, PolyLine, Rectangle, RoundRect. При прорисовке линий в этих методах используются карандаш (Pen) канвы, а для заполнения внутренних областей - кисть (Brush).
Методы для вывода картинок на канву - Draw и StretchDraw, В качестве параметров указываются прямоугольник и графический объект для вывода (это может быть TBitmap, TIcon или TMetafile). StretchDraw отличается тем, что растягивает или сжимает картинку так, чтобы она заполнила весь указанный прямоугольник (см. пример к данному уроку).
Методы для вывода текста - TextOut и TextRect. При выводе текста используется шрифт (Font) канвы. При использовании TextRect текст выводится только внутри указанного прямоугольника. Длину и высоту текста можно узнать с помощью функций TextWidth и TextHeight.
Объект TPaintBox
На странице System Палитры Компонент есть объект TPaintBox, который можно использовать для построения приложений типа графического редактора или, например, в качестве места построения графиков (если, конечно, у Вас нет для этого специальных компонент третьих фирм). Никаких ключевых свойств, кроме Canvas, TPaintBox не имеет, собственно, этот объект является просто канвой для рисования. Важно, что координаты указателя мыши, передаваемые в обработчики соответствующих событий (OnMouseMove и др.), являются относительными, т.е. это смещение мыши относительно левого верхнего угла объекта TPaintBox, а не относительно левого верхнего угла формы.
Примеры
В первом примере (проект SHAPE.DPR, рис.1) показано, как во время выполнения программы можно изменять свойства объекта TShape. Изменение цвета объекта (событие OnChange для ColorGrid1):
procedure TForm1.ColorGrid1Change(Sender: TObject);
begin
Shape1.Brush.Color:=ColorGrid1.ForeGroundColor;
end;
Во втором примере (проект PIXELS.DPR, рис.2) показано, как осуществить доступ к отдельной точке на изображении (на канве). По нажатию кнопки “Fill” всем точкам изображения присваивается свой цвет:
procedure TForm1.Button1Click(Sender: TObject);
var
i, j : Longint;
begin
Button1.Enabled:=False;
with Canvas do
for i:=1 to Width do begin
Application.ProcessMessages;
for j:=1 to Height do
Pixels[i,j]:=i*j;
end;
Button1.Enabled:=True;
end;
В третьей программе (проект DRAW.DPR, рис.3) приведен пример использования методов, выводящих изображение - Draw и StretchDraw:
Прорисовка изображений происходит в обработчике события OnPaint для формы:
procedure TForm1.FormPaint(Sender: TObject);
begin
with Canvas do begin
Draw(0,0, Image1.Picture.BitMap);
StretchDraw(Rect(250,0,350,50),Image1.Picture.BitMap)
end;
end;
Источники
1. http://realcodding.ru
2. http://www.delphi-manual.ru
3. А. Я. Архангельский. Программирование в Делфи 7. М.: ООО «Бином-Пресс», 2003 г. - 1152 с.
4. Глинский Я. Н., Анохин В.Е., Ряжская В.А. Turbo Pascal 7.0 и Delphi. Учебное пособие. - СПб. ООО «ДиаСофтЮП», 2001. - 208 с.
Размещено на Allbest.ru
Подобные документы
Delphi как программный продукт с феноменальными характеристиками. Компилятор в машинный код. Объектно-ориентированная модель программных компонентов. Масштабируемые средства для построения баз данных. Программный код.
контрольная работа [27,8 K], добавлен 30.07.2007Интегрированная среда разработки Delphi и элементы, входящие в ее состав. Математическая модель, алгоритм решения и его свойства. Описание операторов, процедур, функций и методов. Создание приложений по аналитической геометрии и теоретической механике.
курсовая работа [1,8 M], добавлен 26.05.2010Создание электронного учебника "Визуальные и не визуальные компоненты Delphi". Основные требования к организации интерфейса. Логическая структура и технические средства. Аппаратно–программный комплекс. Применение программы, тестирование и отладка.
курсовая работа [39,5 K], добавлен 03.12.2012Теоретические основы применения технологии ADO в среде Delphi. Основные понятия и определения теории баз данных. Компоненты Delphi для создания приложений, оперирующих с базами данных. Общий вид и основные особенности работы приложения "Аптека".
курсовая работа [1,4 M], добавлен 09.08.2012Изучение основных принципов разработки приложений баз данных в среде Delphi. Создание таблиц, псевдонима и вычисляемых полей базы данных. Особенности организации поиска и фильтрации. Сортировка данных в таблицах. Построение запросов. Генерация отчетов.
курсовая работа [1,3 M], добавлен 05.02.2017Предмет объектно-ориентированного программирования и особенности его применения в средах Паскаль, Ада, С++ и Delphi. Интегрированная среда разработки Delphi: общее описание и назначение основных команд меню. Процедуры и функции программы Delphi.
курсовая работа [40,8 K], добавлен 15.07.2009Основные приемы работы в среде программирования Delphi. Особенности технологии создания простейших приложений. Работа с компонентами среды разработки приложений. Ввод, редактирование, выбор и вывод информации. Аспекты использования структуры ветвления.
методичка [619,9 K], добавлен 17.11.2011Delphi как среда разработки программ, ориентированных на работу в Windows. Назначение и преимущество использования электронных учебников. Описание возможностей среды Delphi 5 для разработки электронного учебника. Варианты применения служб Internet.
дипломная работа [3,6 M], добавлен 13.07.2011TToolBar как компонент, представляющий собой специальный контейнер для создания панелей инструментов, характеристика основных свойств. Рассмотрение возможностей Delphi. Особенности программных кодов модулей. TToolButton как кнопка панели инструментов.
курсовая работа [2,0 M], добавлен 06.01.2013Анализ исходных данных. Определение структуры модуля для работы файлом. Разработка объектно-ориентированного приложения, использующего массив объектов, в среде Delphi. Модульная структура программного комплекса. Процедура сортировки методом вставки.
курсовая работа [2,2 M], добавлен 20.09.2014