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

В графических приложениях

Для построения графиков | Построение графиков элементарных функций | В случайных местах | Движение двоичного образа по фоновой картинке | В динамических приложениях | Перемещение картинок | События от мыши | Движение образа по удерживанию левой кнопки мыши | Код клавиши | По нажатию клавиши со стрелкой |


Читайте также:
  1. В динамических приложениях
  2. Виды боевых графических документов. Требования к ним.
  3. Методы защиты конфиденциальности информации при передаче по компьютерным сетям. Недостатки криптографических методов защиты информации.
  4. Образцы библиографических описаний произведений печати в списках литературы
  5. Образцы оформления библиографических источников
  6. Основная характеристика хроматографических методов

4.1. Проект «Простейший графический редактор»

Постановка задачи. Создать графический редактор, рисующий основные фигуры: прямоугольник, окружность, линию. Ввод координат осуществлять путем нажатия и отпускания кнопки мыши. Для рисования фигур использовать меню или (и) панель инструментов – компонент TToolBar. Реализовать выбор цвета для контура фигуры и для заливки. Обеспечить возможность открытия и сохранения
в графическом файле рисунка. При рисовании линии предусмотреть рисование мышью с отпусканием левой кнопки.

Реализация. Положите на форму:

· компонент Image 1, его графическое поле будет использоваться в качестве области рисования, а также сохраняться в файле;

· четыре надписи TLabel для вывода имен координат;

· четыре редактора TEdit для вывода значений координат;

· компонент TMainMenu для создания пунктов меню «Файл», «Графические примитивы», «Очистка поля», «Выбор цвета»;

· панель инструментов – компонент TToolBar для дублирования некоторых функций меню, или же вместо меню;

· коллекцию изображений ImageList 1 для хранения изображений, которые будут помещены на кнопки панели инструментов;

· диалог TColorDialog, позволяющий выбрать цвет с использованием диалогового окна;

· диалог TOpenPictureDialog, который позволяет открыть файл в диалоговом окне;

· диалог TSavePictureDialog, который позволяет через диалоговое окно сохранить файл.

На рис. 25 показана форма проекта, в которой компонент
TToolBar не используется.

 

Рис. 25. Форма проекта «Графический редактор»

 

Создадим программные коды обработчиков событий нажатия
и отпускания кнопки мыши на графическом поле Image 1.

 

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

pr:=true;

xp:=x;

yp:=y;

x1:=x;

y1:=y;

Edit1.Text:=IntToStr(x1);

Edit2.Text:=IntToStr(y1);

end;

 

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

pr:=false;

x2:=x;

y2:=y;

Edit3.Text:=IntToStr(x2);

Edit4.Text:=IntToStr(y2);

end;

 

На событие OnMouseMove программный код должен обеспечить рисование линии по удерживанию левой кнопки мыши.

 

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

if pr then

with Image1.Canvas do

begin

Pen.Width:=w;

Pen.Color:=cl_ln;

MoveTo(xp,yp);

LineTo(x,y);

end;

xp:=x;

yp:=y;

end;

 

В диалоговом окне Form1.MainMenu1, открывающемся после двойного щелчка по компоненту MainMenu 1, создайте меню проекта (рис. 26).

 

Рис. 26. Редактор меню

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

 

procedure TForm1.N5Click(Sender: TObject);

begin {Закрашенный прямоугольник}

with Image1.Canvas do

begin

Brush.Color:=cl_zal;

Rectangle(x1,y1,x2,y2);

end;

end;

 

Аналогично создаются коды по другим пунктам меню. Для примера приведены программные коды опций меню «Очистка поля», «Выбор цвета» и «Сохранить файл».

 

procedure TForm1.N7Click(Sender: TObject);

begin {очистка области рисования }

with Image1.Canvas do

begin

pen.color:=Form1.Color;

brush.color:=Form1.Color;

rectangle(0,0,Image1.Width,Image1.Height);

end;

end;

 

procedure TForm1.N3Click(Sender: TObject);

begin // Сохранить файл

if SavePictureDialog1.Execute then

Image1.Picture.SaveToFile(SavePictureDialog1.FileName);

end;

procedure TForm1.N13Click(Sender: TObject);

begin // Цвет контура

if colordialog1.Execute then

begin

cl_ln:=colordialog1.Color;

Image1.Canvas.Brush.Color:=cl_ln;

end;

end;

Аналогично пишется код для выбора цвета заливки области рисования.

 

Задание. Закончите этот проект. Нарисуйте что-нибудь и сохраните в файле. Положите панель инструментов – компонент TToolBar для дублирования некоторых опций меню, коллекцию изображений ImageList 1 для хранения изображений, которые будут помещены на кнопки панели инструментов, и напишите к кнопкам соответствующие обработчики.


 


Дата добавления: 2015-08-20; просмотров: 59 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Совмещение управляемого и неуправляемого движений.| Создание кнопок

mybiblioteka.su - 2015-2024 год. (0.008 сек.)