![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Рисование квадрата мышкойDelphi , Графика и Игры , CanvasРисование квадрата мышкой
Оформил: DeeCo private { Private declarations } AnchorX, AnchorY, CurX, CurY: Integer; Bounding: Boolean; end; implementation procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin AnchorX := X; CurX := X; AnchorY := Y; CurY := Y; Bounding := True; end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if Bounding then begin Canvas.Pen.Mode := pmNot; Canvas.Pen.Width := 2; Canvas.Brush.Style := bsClear; Canvas.Rectangle(AnchorX, AnchorY, CurX, CurY); CurX := X; CurY := Y; Canvas.Rectangle(AnchorX, AnchorY, CurX, CurY); end; end; procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Bounding then begin Bounding := False; Canvas.Pen.Mode := pmNot; Canvas.Brush.Style := bsClear; Canvas.Rectangle(AnchorX, AnchorY, CurX, CurY); end; end; Раздел объявления В разделе объявления определяются приватные переменные и константы для формы. В этом случае он декларирует:
Раздел реализации В разделе реализации содержится три процедуры событий, которые отвечают на события мыши:
В целом, это код позволяет пользователю рисовать квадрат, кликая, перемещая и отпуская кнопку мыши. Процесс рисования запускается событиями мыши, которые обновляют координаты прямоугольника в реальном времени. В статье описывается код на Delphi, который позволяет рисовать квадрат мышкой на форме приложения. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |