Урок 3 Простейший графический редактор. Реакция приложения на различные кнопки мыши. Построение системы меню
Пример 1 Постройте простейший графический редактор. Рисовать будем на поверхности Canvas (холст), это свойство некоторых компонентов в том числе и формы. Выбрать начальную точку рисования можно нажатием на правую кнопку мыши. Рисовать можно будет нажатием на левую кнопку мыши. В программе для выбора кнопки мыши используем конструкцию условия if_then (если_то). Предусмотрена возможность выбора цвета рисования. Необходимо добавить компоненты – Изображение Image, Окно для выбора цвета ColorDialog и Label1.
unit Unit7;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Imaging.pngimage,
Vcl.ExtCtrls;
type
TForm7 = class(TForm)
Image1: TImage;
ColorDialog1: TColorDialog;
Label1: TLabel;
procedure FormMouseDown(Sender: TObject; Button: TMouseButton; //процедура обработки события мышь внизу
Shift: TShiftState; X, Y: Integer);
procedure Image1Click (Sender: TObject);
procedure Label1Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
x, y: Integer; // координыты точки
implementation
{$R *.dfm}
procedure TForm7.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then // если нажата левая кнопка
Canvas.LineTo (x, y); // рисует линию на канве до точки
if Button = mbRight then // если нажата правая кнопка
Canvas.MoveTo (x, y); // перенос до точки без рисования
end;
procedure TForm7.Image1Click(Sender: TObject);
begin
Image1.Visible := false;
end;
procedure TForm7.Label1Click(Sender: TObject);
begin
ColorDialog1.Execute(); // вызов окна диалога ВЫБОР ЦВЕТА
Canvas.Pen.Color := ColorDialog1.Color; // присвоить перу выбранный цвет
end;
end.
Пример 2 Расширим возможности приложения. Для этого необходимо в проект включить компонент MainMenu1 (Главное меню). Разместите этот компонент на форму приложения и кликните два раза по появившейся пиктограмме. Сразу появится заготовка меню. На основе этой заготовки постройте нужное вам меню. Добавь нужные пункты меню. Кликни по любому пункту два раза для перехода процедуру обработки этого события.
Выбери лучшее! allbest |