скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Рисование квадрата мышкой



Оформил: 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;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook