为什么划线没有显示出来啊(菜鸟请教)
程序代码如下:
unit xian;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormMouseDown(Sender:TObject;Button:TMouseButton;
Shift:TShiftState;X,Y:integer);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
start:boolean;
implementation
{$R *.dfm}
procedure TForm1.FormMouseDown(Sender:TObject;Button:TMouseButton;
Shift:TShiftState;X,Y:integer);
begin
if start then
form1.Canvas.LineTo(x,y);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
start:=false;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
start:=true;
end;
end.
小弟刚学delphi,很多不懂的,请各位大侠能指教,让菜鸟高飞吧
[解决办法]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button1Click(Sender: TObject);
private
bStart : Boolean;
iX, iY : Integer;
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
iX := 0;
iY := 0;
bStart := False;
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if bStart then
begin
Self.Canvas.MoveTo(iX, iY);
Self.Canvas.LineTo(X, Y);
end;
iX := X;
iY := Y;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
bStart := not bStart;
end;
end.
[解决办法]
可以阿,你的代码在我这里执行挺好的,不过画的是弯弯曲曲的鼠标轨迹线
[解决办法]
各个事件都对好应好代码了吗?如 Form1的OnMouseDown事件里是否对应了相应的代码