不知错在什么地方,是不是模式问题?unit drawRec;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm1 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormCreate(Sender: TObject);
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
preX,preY:integer;
startX,startY:integer;
startDraw:boolean;
implementation{$R *.dfm}
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
preX:=x;
preX:=y;
startX:=x;
startY:=y;
startDraw:=true;
with form1 do
begin
canvas.Pen.style:=tpenstyle(0);
canvas.Pen.width:=2;
canvas.Pen.Color:=clRed;
end;
end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if startDraw then
begin
form1.Canvas.Rectangle(startX,startY,preX,preY);
form1.Canvas.Pen.Mode:=pmcopy;
form1.canvas.Rectangle(startX,starty,x,y);
preX:=x;
preY:=y;
form1.Canvas.Pen.Mode :=pmnop;
end;end;procedure TForm1.FormCreate(Sender: TObject);
begin
startDraw:=false;
end;procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
startDraw:=false;
form1.Canvas.Pen.Mode:=pmcopy;
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm1 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormCreate(Sender: TObject);
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
preX,preY:integer;
startX,startY:integer;
startDraw:boolean;
implementation{$R *.dfm}
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
preX:=x;
preX:=y;
startX:=x;
startY:=y;
startDraw:=true;
with form1 do
begin
canvas.Pen.style:=tpenstyle(0);
canvas.Pen.width:=2;
canvas.Pen.Color:=clRed;
end;
end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if startDraw then
begin
form1.Canvas.Rectangle(startX,startY,preX,preY);
form1.Canvas.Pen.Mode:=pmcopy;
form1.canvas.Rectangle(startX,starty,x,y);
preX:=x;
preY:=y;
form1.Canvas.Pen.Mode :=pmnop;
end;end;procedure TForm1.FormCreate(Sender: TObject);
begin
startDraw:=false;
end;procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
startDraw:=false;
form1.Canvas.Pen.Mode:=pmcopy;
end;end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货