程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi幾何形狀生成器制作詳解-繪制基本圖形

Delphi幾何形狀生成器制作詳解-繪制基本圖形

編輯:Delphi

本例制作一個可以生成幾何形狀的程序,可以繪制出圓形、正方形、橢圓、圓角矩形等幾何圖形。點擊窗體中的按鈕,可以得到相應的圖形。點擊顏色按鈕,可以為窗體中的圖形選擇不同的顏色,點擊“關閉”按鈕,退出該程序。運行效果如下圖所示:

Delphi幾何形狀生成器

Delphi生成幾何圖形,看似簡單的小程序,但綜合利用了Delphi中Shape 控件的各種屬性編程的實例,改變Shape 的屬性,可以獲得不同的圖形。具體設計思路為:

通過對Shape 圖形的Shape 屬性不同的賦值,可以得到相應的圖形。改變圖形的顏色,可以利用ColorDialog 控件,將ColorDialog 的Color 屬性賦給Shape 的Brush.Color 屬性即可。

1.新建工程

(1)啟動Delphi 6.0 程序。選擇“文件”菜單下的“菜單”命令,從彈出的子菜單中選擇Application 選項,則出現新建工程的Form1 窗口。

(2)選擇“文件”菜單下的“工程另存為”命令,彈出Save Unit1 As 對話框。在“保存在”列表框中選擇需要存放該窗口文件所在的目錄名;在“文件名”編輯框中填寫文件名,這裡填寫“Unit1”,點擊“保存”按鈕,保存上面的選項。

(3)執行上一步後,將彈出“工程另存為”對話框。在“保存在”列表框中選擇需要存放該工程的目錄名,最好和第(2)步選取相同的目錄;在“文件名”編輯框中填寫保存處理該工程的源代碼的文件名,這裡填寫“Project1”,點擊“保存”按鈕,保存上面的選項。

2.修改窗口

(1)激活Unit1 窗口,在“屬性”面板中設置該窗體的Caption 屬性為“繪制基本圖形”,Name 屬性為“Form1”。

(2)選擇“標准”頁上的Button 選項,在窗體中添加7 個Button 控件,調整它們在窗體中合適的大小和位置。在“屬性”面板中設置其Caption 屬性分別為“圓形”、“正方形”、“橢圓形”、“圓角矩形”、“矩形”、“圓角正方形”和“顏色”。

(3)選擇“附加”頁上的Shape 選項,在窗體中添加一個Shape 控件,在“屬性”面板中設置其Shape 屬性為“stRoundRect”。再在窗體中添加一個BitBtn 控件,設置其Caption 屬性為“關閉”。

(4)選擇“對話框”頁上的ColorDialog 選項,在窗體中添加一個ColorDialog 控件。

代碼分析:

(1)實現圖形的改變很簡單,只需要改變Shape 控件的Shape 屬性即可,以圓形為例說明如下:

//使圖形變為圓形
procedure TForm1.Button1Click(Sender: TObject);
begin
Shape1.Shape := stCircle;
end;

(2)改變圖形的顏色,可以利用ColorDialog 控件,將ColorDialog 的Color 屬性賦給Shape 的Brush.Color 屬性即可:

//改變圖形的顏色
procedure TForm1.Button4Click(Sender: TObject);
begin
ColorDialog1.Execute;
Shape1.Brush.Color := ColorDialog1.Color;
end;

完整代碼:

vIEw source print? 01 unit Unit1; 02 interface 03 uses 04 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 05 Buttons, StdCtrls, ExtCtrls; 06 type 07 TForm1 = class(TForm) 08 Shape1: TShape; 09 Button1: TButton; 10 Button2: TButton; 11 Button3: TButton; 12 Button4: TButton; 13 BitBtn1: TBitBtn; 14 ColorDialog1: TColorDialog; 15 Button5: TButton; 16 Button6: TButton; 17 Button7: TButton; 18 procedure Button4Click(Sender: TObject); 19 procedure Button1Click(Sender: TObject); 20 procedure Button2Click(Sender: TObject); 21 procedure Button3Click(Sender: TObject); 22 procedure Button5Click(Sender: TObject); 23 procedure Button6Click(Sender: TObject); 24 procedure Button7Click(Sender: TObject); 25 procedure BitBtn1Click(Sender: TObject); 26 private 27 { Private declarations } 28 public 29 { Public declarations } 30 end; 31 var 32 Form1: TForm1; 33 implementation 34 {$R *.DFM} 35 //改變圖形的顏色 36 procedure TForm1.Button4Click(Sender: TObject); 37 begin 38 ColorDialog1.Execute; 39 Shape1.Brush.Color := ColorDialog1.Color; 40 end; 41 //使圖形變為圓形 42 procedure TForm1.Button1Click(Sender: TObject); 43 begin 44 Shape1.Shape := stCircle; 45 end; 46 //使圖形變為橢圓形 47 procedure TForm1.Button2Click(Sender: TObject); 48 begin 49 Shape1.Shape := stEllipse; 50 end; 51 //使圖形變為矩形 52 procedure TForm1.Button3Click(Sender: TObject); 53 begin 54 Shape1.Shape := stRectangle; 55 end; 56 //使圖形變為正方形 57 procedure TForm1.Button5Click(Sender: TObject); 58 begin 59 Shape1.Shape := stSquare; 60 end; 61 //使圖形變為圓角矩形 62 procedure TForm1.Button6Click(Sender: TObject); 63 begin 64 Shape1.Shape := stRoundRect; 65 end; 66 //使圖形變為圓角方形 67 procedure TForm1.Button7Click(Sender: TObject); 68 begin 69 Shape1.Shape := stRoundSquare; 70 end; 71 procedure TForm1.BitBtn1Click(Sender: TObject); 72 begin 73 Close;//關閉窗體,退出程序 74 end; 75 end.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved