Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Конфигурация среды программирования (IDE)

Поиск

Пункт меню "Options | Environment" предоставляет Вам большой набор страниц и управляющих элементов, которые определяют внешний вид и работу IDE. Delphi позволяет сделать следующие важные настройки:

  1. Определить, что из проекта будет сохраняться автоматически
  2. Можно менять цвета IDE
  3. Можно менять подсветку синтаксиса в РедактореМожно изменить состав Палитры КомпонентУказать "горячие клавиши" IDE
  4. Первая страница пункта меню "Options | Environment" показана на рис.21.

Рис.21: Страница Preferences.

В группе "Desktop Contents" определяется, что будет сохраняться при выходе из Delphi. Если выбрать Desktop Only - это сохранит информацию о директориях и открытых окнах, если выбрать Desktop And Symbols - это сохранит то же самое плюс информацию для броузера (browser).

В группе "Autosave" указывается, что нужно сохранять при запуске программы. Если позиция Editor Files выбрана, то сохраняются все модифицированные файлы из Редактора при выполнении команд Run|Run, Run|Trace Into, Run|Step Over, Run|Run To Cursor или при выходе из Delphi. Если позиция Desktop выбрана - сохраняется рабочая среда при закрытии проекта или при выходе из Delphi. Если Вы позже откроете проект, то он будет иметь тот же вид, что и при его закрытии.

В группе "Form Designer" можно установить, показывать ли сетку (grid) на экране и выравнивать ли объекты по ней, и размер ячеек сетки.

В группе "Debugging": опция Integrated Debugging - использовать ли встроенный отладчик; Step Program Block - отладчик остановится на первой строке модуля, в котором есть отладочная информация; Break On Exception - останавливать ли программу при возникновении исключительной ситуации; Minimize On Run - свертывать ли Delphi при запуске программы. После закрытия программы среда Delphi восстанавливается. Hide Designers On Run - прячет окна Дизайнера (Инспектор Объектов, формы) при запуске приложения.

Show Compiler Progress - показывать ли окно, в котором отражается процесс компиляции программы.

"Gallery" - указывает, в каких случаях нужно предоставлять "галерею" (коллекцию заготовок и экспертов).

Страницы Editor Options, Editor Display и Editor Colors позволяют Вам изменить цвета и "горячие" клавиши, используемые IDE. Страница Editor Display показана на рис.22, а Editor Colors - на рис.23.

Рис.22: Страница Editor Display.

Рис.23: Страница Editor Colors.

Существует несколько способов изменить назначение "горячих" клавиш, используемых Редактором. Например, многие пользователи привыкли, что по клавише F5 максимизируется окно Редактора. Для этого им надо использовать расположение клавиш, называемое "Classic" (Keystroke mapping: Classic). Всего есть четыре вида конфигурации клавиш:

  • "Default" - характерно для Microsoft. Если Вы новичок в Windows или уже привыкли к этому расположению клавиш, то это подойдет.
  • "Classic" - более известно ветеранам Borland C++ и Borland Pascal. Поддерживает многие комбинации клавиш WordStar и отладчик управляется старым добрым способом.
  • Остальные два вида - имитируют редакторы Epsilon и BRIEF. Подойдут, если вы с ними знакомы.

Точное описание назначения клавиш можно найти в Справочнике (в Help | Topic Search набрать "key mapping").Цвета IDE можно изменить на странице Editor Colors. И, наконец, Editor Options (рис.24).

Рис.24: На странице Editor Options можно настроить тонкие детали работы Редактора.

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

"Use syntax highlight" - выделять ли цветом синтаксические конструкции в Редакторе Исходного текста.

"Find text at cursor" - если включено, то при поиске (Ctrl+F) в качестве подстроки для поиска будет браться то слово, на котором стоит курсор.

Обо всех опциях можно подробнее узнать в Справочнике (F1).

Установки сохраняются в файле DELPHI.INI, который находится в директории Windows.

Рисование и закраска

Графические компоненты

В стандартную библиотеку визуальных компонентов 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 thenImage1.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, а не относительно левого верхнего угла формы.

Примеры

Пример программы «Форма с полем для рисования»

 

 

На форму поместить объект Panel1 из вкладки Standart. У объекта изменить свойство BevelOuter: bvLowered. На панель поместить объект PaintBox1 из вкладки System. Создать группу с 3-мя переключателями (RadioGroup). Написать обработчики событий. Н-р.: procedure

TForm1.PaintBox1MouseMove – для объекта PaintBox1 на форме Form1

событие On MouseMove

var

Form1: TForm1;

isDown:boolean;

implementation

{$R *.DFM}

procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

if isDown then paintbox1.Canvas.LineTo(x,y)

end;

procedure TForm1.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

isDown:=true;

paintbox1.Canvas.MoveTo(x,y);

end;

procedure TForm1.PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

isDown:=false;

end;

procedure TForm1.RadioGroup1Click(Sender: TObject);

begin

if RadioGroup1.ItemIndex=0 then paintbox1.Canvas.Pen.Color:=clred;

if RadioGroup1.ItemIndex=1 then paintbox1.Canvas.Pen.Color:=clblue;

if RadioGroup1.ItemIndex=2 then paintbox1.Canvas.Pen.Color:=clgreen;

end;

1.3. Контрольные вопросы

 

1. Перечислите основные составные части Delphi.

2. Как можно воспользоваться справочником Delphi?

3. Перечислите основные компоненты окна среды Delphi и укажите их назначение.

4. Как поместить компонент на форме?

5. Какими способами можно изменять свойство компонента?

6. Каково назначение обработчиков событий?

7. Что такое SpeedBar и где он находится?

8. Как ограничить число вводимых символов в объекте Memo?

9. В чем различие между объектами CheckBox и RadioButton?

10. В чем различие между инструментами WinSight и WinSpector?

11. Опишите действия при вставке рисунка в Image.

12. Для чего нужен компонент TМainMenu, и где он находится?.

13. Значение свойств Align и Alignment.

14. С помощью каких графических компонентов форме можно

придать оригинальный вид?

15. Что такое тьюторы?

16. Какие файлы относятся к управлению проектом?

17. Перечислите список компонентов на станице Additional?

18. Как можно изменить цвет фона и шрифта?

19. Как сохранить программу, выполненную в Delphi?

20. Что такое Z-упорядочивание?

 

 

Задания к лабораторной работе №1

а) Общее для всех вариантов:

Создать форму. На форме метка(Label), кнопка(Button). На форме заголовок "Приветствие", метка пустая, без текста. При нажатии на кнопку (выбор в Инспекторе Объектов вкладки События и строки с событием OnClick; двойной щелчок левой клавишей мыши в этой строке) – вывод сообщения на форме в метке "Здравствуйте! Удачи всем!".

б) Разработать в Delphi следующие проекты:

Вариант 1.

Измените цвет формы и цвет метки. Сохраните проект в своей папке.

 

Вариант 2.

Измените размеры формы и текст метки. Сохраните проект в своей папке.

 

Вариант 3.

Измените положение метки на форме и ее цвет. Сохраните проект в своей папке.

 

Вариант 4.

Измените цвет формы и текст в метке. Сохраните проект в своей папке.

 

Вариант 5.

Измените размеры формы и текст в заголовке формы. Сохраните проект в своей папке.

 

Вариант 6.

Создать на форме 3 переключателя (класс TRadiobutton), группу и метку Label. Текст в метке любой. В результате выбора каждого из переключателей будет меняться цвет метки.

 

Вариант 7.

Создать на форме 3 переключателя (класс TRadiobutton), группу и метку Label. Текст в метке любой. В результате выбора каждого из переключателей будет меняться выравнивание текста внутри метки.

Вариант 8.

Создать на форме 3 переключателя (класс TRadiobutton), группу. В результате выбора каждого из переключателей будет меняться цвет формы.

 

Вариант 9.

Создать на форме 3 переключателя (класс TRadiobutton), группу и метку Label. Текст в метке любой. В результате выбора каждого из переключателей будет меняться размер шрифта в метке.

 

Вариант 10.

Создать на форме 3 переключателя (класс TRadiobutton), группу и метку Label. Текст в метке любой. В результате выбора каждого из переключателей будет меняться выравнивание метки внутри формы.

 

Вариант 11.

Создать форму с рисунком(Image). В результате движения мыши рисунок должен переноситься по форме (при нажатой левой клавиши мыши, рисунок меняет свое местоположение).

 

Вариант 12.

Создать форму с рисунком (Image). В результате движения мыши размеры рисунка должны меняться.

 

Вариант 13.

Создать форму с рисунком (Image). Под рисунком подпись (метка) В результате движения мыши должно меняться положение метки (при нажатой левой клавише мыши над надписью, она перемещается).

 

Вариант 14.

Написать программу, которая при создании формы размещает на ней надпись «рисунок №1». При щелчке мыши на форме в том же месте в области надписи должна появляться вторая надпись.

 

Вариант 15.

Создать форму с рисунком. В результате движения мыши должно меняться расположение формы на экране.

 



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 320; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.119.143 (0.012 с.)