如何在窗體上畫1個任意大小的圓呢? |
答題得分者是:李國維
|
mp394681143
一般會員 發表:64 回覆:40 積分:20 註冊:2009-10-11 發送簡訊給我 |
如何在窗體上的任意位置,畫1個任意大小的圓呢?我的想法是在窗體放無數個image控件,這樣別人無論在哪個位置,可以隨心所欲的畫圓!實在想不出來,我想了個笨辦法,就是放2個edit控件,讓用戶輸入數值,在畫圓,不知高手們是怎麽弄的?小弟在次請教大家的指導,謝謝中,我的代碼:
[code delphi] procedure TForm1.Button1Click(Sender: TObject); begin with image1 do begin image1.Width:=strtoint(edit1.Text); image1.Height:=strtoint(edit1.Text); begin Canvas.Brush.Color := clRed; Canvas.Brush.Style := bssolid; Canvas.Ellipse(0, 0, image1.Width,image1.Height); end; end; end; procedure TForm1.Button2Click(Sender: TObject); begin with image2 do begin image2.Width:=strtoint(edit1.Text); image2.Height:=strtoint(edit1.Text); begin Canvas.Brush.Color := clRed; Canvas.Brush.Style := bssolid; Canvas.Ellipse(0, 0, image2.Width,image2.Height); end; end; end; [/code] 編輯記錄
mp394681143 重新編輯於 2009-10-22 05:48:39, 註解 無‧
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
放一個TImage的物件,把Align設為alClient;之後參考下列程式
[code cpp] TPoint StartPoint; void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { StartPoint = Point(X,Y); } void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { Image1->Canvas->Ellipse(StartPoint.x,StartPoint.y,X,Y); } [/code] |
mp394681143
一般會員 發表:64 回覆:40 積分:20 註冊:2009-10-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |