- •Лабораторная работа №3. Тема: Создание простейшего приложения «Светофор» Цель: Изучение компонентов Button, Shape, Bevel, Edit, Label.
- •В обработчике события OnClick для кнопки Button1 напишем код:
- •Создание игры «Поймай кнопку» Цель: Изучение особенностей компонента Timer.
- •Тема: Создание логической игры Цель: Изучение возможностей использования свойства Tag и объекта Sender.
- •Генератор функций Цель: Изучение компонента PaintBox и методов рисования на канве. Компонент TrackBar
- •2. Сделайте так, чтобы в неинвертированном режиме синусоида изображалась красным цветом, а косинусоида – синим.
- •Создание простейшего калькулятора Цель: Изучение структуры case и особенностей работы с математическими функциями. Преобразование типов и обработка исключительных ситуаций.
- •Создание элементов интерфейса простейшего графического редактора Цель: Изучение компонентов ColorGrid, SpinEdit, RadioGroup, ListBox, ColorDialog.
- •Часть 1.
- •Часть 2.
- •Увеличить фигуру
- •Электронная записная книжка Цель: Изучение компонентов многостраничных панелей TabControl и PageControl.
- •Текстовый редактор Цель: Изучение компонентов Panel, Memo, OpenDialog, SaveDialog, MainMenu, PopupMenu, SpeedButton
- •Создание простейшего графического редактора
- •События мыши
Создание простейшего графического редактора
Цель: Изучение компонентов Image, ScrollBox, компонетов-диалогов, а также обработки событий мыши.
Краткие теоретические сведения.
Компонент Image представляют собой некоторую ограниченную поверхность с канвой, на которую можно заносить изображения. Свойства и методы работы с канвой описаны в Л/р№4.
Компонент Image используется для отображения графики: пиктограмм, битовых матриц и метафайлов. Для этого служит его свойство Picture — объект типа TPicture. Если установить свойство AutoSize в true, то размер компонента Image будет автоматически подгоняться под размер помещенной в него картинки. Если же свойство AutoSize установлено в false, то изображение может не поместиться в компонент или, наоборот, площадь компонента может оказаться много больше площади изображения. Другое свойство — Stretch позволяет подгонять не компонент под размер рисунка, а рисунок под размер компонента
Свойство — Center, установленное в true, центрирует изображение на площади Image, если размер компонента больше размера рисунка.
Рассмотрим еще одно свойство — Transparent (прозрачность). Если Transparent равно true, то изображение в Image становится прозрачным. Это можно использовать для наложения изображений друг на друга.
ScrollBox — панель с прокруткой. Этот компонент предназначен для создания области, в которой могут размещаться компоненты, занимающие площадь большую, чем сам ScrollBox. Если размеры ScrollBox меньше, чем размещенные компоненты, то появляются полосы прокрутки, которые позволяют пользователю перемещаться по всем размещенным в ScrollBox компонентам.
Свойства компонентов OpenPictureDialog и SavePictureDialog ничем не отличаются от свойств компонентов OpenDialog и SaveDialog. Единственное отличие — заданное значение по умолчанию свойства Filter в OpenPictureDialog и SavePictureDialog. В этих компонентах заданы следующие фильтры:
All (*.jpg; *.jpeg; *.bmp; *.ico; *.emf; *.wmf) |
*.jpg; *.jpeg; *.bmp; *.ico; *.emf; *.wmf |
JPEG Image File (*.jpg) |
*.jpg |
JPEG Image File (*.jpeg) |
*.jpeg |
Bitmaps (*.bmp) |
*.bmp |
Icons (*.ico) |
*.ico |
Enhanced Metafiles (*.emf) |
*.emf |
Metafiles (*.wmf) |
*.wmf |
В этих фильтрах перечислены все типы графических файлов, с которыми может работать диалог. Так что вам остается удалить, если хотите, фильтры тех файлов, с которыми вы не хотите работать, добавить, может быть, фильтр «Все файлы (*.*)» и перевести на русский язык названия типов.
Компонент ColorDialog вызывает диалоговое окно выбора цвета. В нем пользователь может выбрать цвет из базовой палитры или, нажав кнопку Определить цвет, раскрыть дополнительную панель, позволяющую синтезировать цвет, отличный от базовых. Синтезированный цвет можно добавить кнопкой Добавить в набор в палитру дополнительных цветов на левой панели и использовать его в дальнейшем.