为什么不能在画布上写字? |
答題得分者是:jow
|
风飞痕
一般會員 ![]() ![]() 發表:2 回覆:1 積分:0 註冊:2008-03-11 發送簡訊給我 |
我是初学者,按照书上的代码 但是我做出来的效果不一样 书上的可以在画布上写字 我做出来只能画直线呢?
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var firstx,firsty:integer; drawflag:boolean; begin //记录第一点坐标 firstx:=x; firsty:=y; //进入画图状态 drawflag:=true; end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var drawflag:boolean; firstx,firsty:integer; begin if drawflag then begin //由第一点画出一条直线 canvas.MoveTo(firstx,firsty); canvas.LineTo(x,y); //改变第一点坐标 firstx:=x; firsty:=y; end; end; procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var drawflag: boolean; |
jow
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
維持狀態的變數,要宣告在函式之外
![]() [code delphi] var firstx, firsty: Integer; drawflag: Boolean; implementation . . . [/code] 你可以參考這一篇: http://delphi.ktop.com.tw/board.php?cid=30&fid=74&tid=92960
編輯記錄
jow 重新編輯於 2008-03-21 11:31:49, 註解 無‧
|
风飞痕
一般會員 ![]() ![]() 發表:2 回覆:1 積分:0 註冊:2008-03-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |