線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1352
推到 Plurk!
推到 Facebook!

如何在窗體上畫1個任意大小的圓呢?

答題得分者是:李國維
mp394681143
一般會員


發表:64
回覆:40
積分:20
註冊:2009-10-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-10-22 05:47:05 IP:61.136.xxx.xxx 訂閱
如何在窗體上的任意位置,畫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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-10-22 06:39:41 IP:118.165.xxx.xxx 訂閱
放一個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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-10-23 02:23:02 IP:61.136.xxx.xxx 訂閱
謝謝呀!
系統時間:2024-04-27 9:45:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!