圖形控件和圖形方法_第1頁
圖形控件和圖形方法_第2頁
圖形控件和圖形方法_第3頁
圖形控件和圖形方法_第4頁
圖形控件和圖形方法_第5頁
已閱讀5頁,還剩24頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

圖形控件和圖形方法第一頁,共二十九頁,編輯于2023年,星期二6.1.1圖片框控件

工具箱中圖片框控件的圖標為

。圖片框控件名稱的缺省值為:Picture1、Picture2、……,微軟建議名稱前綴為pic。圖片框控件用以顯示圖片,也可以作為其他對象的容器、顯示圖形方法的輸出結果和Print方法輸出的文本。1.圖片框控件的常用屬性(1)Picture屬性。圖片框控件的Picture屬性返回或設置圖片框中的圖片。在圖片框中加載圖像有下列兩種方式:1)設計時選?。航缑嬖O計時,在該圖片框控件屬性窗口中點擊“Picture”屬性,隨之彈出“加載圖片”對話框,選擇所要顯示的圖片文件后,相應的圖片被加載到圖片框中。2)

運行時裝入:程序運行時,可用LoadPicture函數裝入圖片到圖片框控件中。格式:圖片框控件名.Picture=LoadPicture(filename)

2第二頁,共二十九頁,編輯于2023年,星期二6.1.1圖片框控件

(2)AutoSize屬性。

AutoSize屬性值為True時,圖片框的邊界會隨著所裝入圖片的大小變化而變化。此時在設計窗體過程中就應特別小心,圖片將不考慮窗體上其他控件的分布情況,而根據圖片的大小自動調整圖片框的大小,可能導致窗體上的其他控件被覆蓋,所以應慎用,以免影響窗體界面的完整性。

(3)Align屬性◆

圖片框控件的Align屬性值為0:標準位置,圖片框在原位置。◆圖片框控件的Align屬性值為1,則圖片框貼緊到窗體的上邊;Align屬性值為2,則圖片框貼緊到窗體的下邊。

圖片框控件的Align屬性值為3,則圖片框貼緊到窗體的左邊;Align屬性值為4,則圖片框貼緊到窗體的右邊。

3第三頁,共二十九頁,編輯于2023年,星期二6.1.1圖片框控件2.圖片框控件的常用方法(1)Print方法。圖片框控件可以用來顯示Print方法輸出的文本,格式如下:圖片框控件名稱.Print輸出表如執行“Picture1.Print"圖片框"”,則在圖片框Picture1上當前輸出位置,顯示“圖片框”這3個字。(2)Cls方法。圖片框上除了所裝入的圖片外,其他的所有文字、圖形都可以用Cls方法擦除,格式如下:

圖片框控件名稱.Cls

4第四頁,共二十九頁,編輯于2023年,星期二6.1.2影像框控件

工具箱中影像框控件的圖標為

。

影像框控件名稱的缺省值為:Image1、Image2、……,微軟建議名稱前綴為img。影像框控件只能用于顯示圖像,不支持圖形方法,也不能當作容器來使用。1.影像框控件常用屬性(1)Picture屬性。與圖片框控件的Picture屬性一樣,可以在設計時設置,也可以在程序運行時用LoadPicture函數裝入。詳細說明可以參見6.1.1。(2)Stretch屬性。圖片框控件的AutoSize屬性設置為True時,其大小會隨所裝入的圖片而變化,這樣可以得到圖片的原始大小,但有時當所加載的圖片比較大時,可能會影響窗體上其他控件的顯示。

5第五頁,共二十九頁,編輯于2023年,星期二6.1.2影像框控件2.影像框控件常用事件影像框控件與圖片框控件可以響應的事件過程大體相同,如Change、Click、MouseDown、MouseUp、MouseMove等常用事件。讀者可以根據程序設計的要求,編寫相應的事件過程,下列各程序段可以幫助讀者了解鼠標引發事件過程的使用方法。下列事件過程可以顯示鼠標在影像框控件上點擊位置的坐標值。PrivateSubImage1_MouseDown(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)'參數x、y為鼠標在影像框按下處的坐標值。

PrintX,YEndSubImage控件可接受Click等事件,因此可以充當圖形命令按鈕。

6第六頁,共二十九頁,編輯于2023年,星期二6.1.3形狀控件

工具箱中形狀控件的圖標為。形狀控件缺省的控件名稱為:Shape1、Shape2、……,微軟建議名稱前綴為shp。1.形狀控件常用屬性

(1)Shape屬性。形狀控件用于創建指定的圖形,通過設置Shape屬性來得到所需要的形狀,畫出正方形、矩形、圓和橢圓等。

Shape屬性定義該控件顯示的圖形。取整數值或系統定義的符號常量,取值及含義如下:◆

0或VbShapeRectangle:控件形狀為矩形

?!?/p>

1或VbShapeSquare:控件形狀為正方形。◆

2或VbShapeOval:控件形狀為橢圓形?!?/p>

3或VbShapeCircle:控件形狀為圓形?!?/p>

4或VbShapeRoundedRectangle:控件形狀為圓角矩形?!?/p>

5或VbShapeRoundedSquare:控件形狀為圓角正方形。

7第七頁,共二十九頁,編輯于2023年,星期二6.1.3形狀控件

(2)BorderStyle屬性。該屬性定義圖形邊框樣式,取值及含義如下:◆

0:透明,即無邊框?!?/p>

1:實線,為缺省值。◆

2:長虛線?!?/p>

3:虛線。◆

4:點劃線?!?/p>

5:雙點劃線。◆

6:內插實線,如果BorderWidth屬性值大于1,控件保證圖形最大尺寸等于設定值。

8第八頁,共二十九頁,編輯于2023年,星期二6.1.3形狀控件

(3)FillStyle屬性。該屬性用于指定圖形的填充樣式。取值及含義如下:◆

0:實心填充◆

1:透明,即不填充,為缺省值。◆

2:水平線填充?!?/p>

3:垂直線填充。◆

4:斜線填充?!?/p>

5:反斜線填充?!?/p>

6:網格填充?!?/p>

7:傾斜網格填充。

9第九頁,共二十九頁,編輯于2023年,星期二6.1.3形狀控件(4)其他常用屬性?!?/p>

BorderColor:設置邊框顏色?!?/p>

FillColor:設置填充顏色。◆

BorderWidth:設置邊框寬度。利用形狀控件,可以在界面設計時,通過對形狀控件有關屬性的設置直接得到相應的圖形,也可以在程序中設置屬性來獲得所需要的圖形。

10第十頁,共二十九頁,編輯于2023年,星期二6.1.4直線控件

工具箱中直線控件的圖標為

。直線控件缺省的控件名稱為:Line1、Line2、……,微軟建議名稱前綴為lin。直線控件與形狀控件相似,但只用于畫線。界面設計時可以通過鼠標操作調整線段的位置、長短和顏色等屬性;程序運行時,可以通過改變直線的端點坐標(x1,y1)、(x2,y2)來移動它或調整它的長短。同形狀控件的邊框樣式屬性一樣,Line控件通過對BorderStyle屬性的設置定義該控件所顯示的直線的線形,其不同取值表示不同的線形,分別為透明、實線、長虛線、虛線、點劃線、雙點劃線等。11第十一頁,共二十九頁,編輯于2023年,星期二6.2.1容器坐標系

在VisualBasic中,每個容器都有一個坐標系,坐標系中的X軸向右、Y軸向下延伸,如圖6-11所示為缺省的窗體坐標系統、框架控件的坐標系統。1.控件在容器中的位置屬性控件在容器中的位置屬性包括Top屬性和Left屬性。

x

y圖6-11VisualBasic坐標系示例

12第十二頁,共二十九頁,編輯于2023年,星期二6.2.1容器坐標系

(1)Top屬性??丶脑搶傩灾凳强丶笊辖堑剿谌萜魃线呇氐木嚯x。如果控件外的容器為窗體,則控件的Top屬性值為控件左上角到所在窗體標題欄下邊沿的距離。(2)Left屬性??丶脑搶傩灾凳强丶笊辖堑剿谌萜髯筮呇氐木嚯x。PrivateSubForm_Click()PrintTop,Left,Height,WidthPrintFrame1.Top,Frame1.Left,Frame1.Height,Frame1.WidthPrintText1.Top,Text1.Left,Text1.Height,Text1.WidthEndSub

13第十三頁,共二十九頁,編輯于2023年,星期二6.2.1容器坐標系

2.控件自身寬度、高度的屬性(1)Width屬性,該屬性值為控件本身的寬度。(2)Height屬性,該屬性值為控件本身的高度。在圖6-11中,如果拖動框架控件、改變其在窗體中的位置,框架控件的Top、Left屬性可以被改變,而Width、Height屬性不改變。如果僅改變框架控件的大小而保持其左上角位置不變,則Width、Height屬性被改變。3.容器(窗體、圖片框)的坐標屬性(1)ScaleLeft屬性,該屬性值為容器左上角的橫坐標,缺省值為0。(2)ScaleTop屬性,該屬性值為容器左上角的縱坐標,缺省值為0。(3)ScaleWidth屬性,該屬性值為容器內部的寬度值。(4)ScaleHeight屬性,該屬性值為容器內部的高度值(5)CurrentX、CurrentY屬性,分別表示當前點在容器內的橫坐標、縱坐標。設置CurrentX、CurrentY屬性后,所設值就是下一個輸出方法的當前位置。14第十四頁,共二十九頁,編輯于2023年,星期二6.2.2改變容器坐標系的Scale方法

容器坐標系中,坐標系刻度單位的缺省值為“緹”(1緹≈0.01764mm),容器的最小坐標值為左上角坐標,容器的最大坐標值為右下角坐標。利用Scale方法可以改變原點的坐標并隨之改變最大坐標值,格式為:容器名.Scale(x1,y1)-(x2,y2)

該語句功能:改變容器(缺省容器名指窗體)左上角坐標為(x1,y1),右下角坐標值為(x2,y2),將容器在X軸方向分為x2-x1等份、Y軸方向分為y2-y1等份,并將容器的4個坐標屬性設置為:◆

容器名.ScaleLeft=x1◆

容器名.ScaleTop=y1◆

容器名.ScaleWidth=x2-x1◆

容器名.ScaleHeight=y2-y115第十五頁,共二十九頁,編輯于2023年,星期二6.2.3坐標刻度

VisualBasic程序設計中,經常使用的刻度單位為:緹、磅和毫米。通過設置容器的ScaleMode屬性可以選擇改變坐標系統的單位。1.設置(選擇)標準刻度◆

ScaleMode屬性值為1,容器坐標系的刻度單位為緹,1緹≈0.01764毫米≈0.05磅◆

ScaleMode屬性值為2,容器坐標系的刻度單位為磅,1磅≈0.353毫米?!?/p>

ScaleMode屬性值為3,容器坐標系的刻度單位為像素,是顯示器分辨率的最小單位。◆

ScaleMode屬性值為4,容器坐標系的刻度單位為字符,每個字符寬6磅、高12磅。◆

ScaleMode屬性值為5,容器坐標系的刻度單位為英寸?!?/p>

ScaleMode屬性值為6,容器坐標系的刻度單位為毫米?!?/p>

ScaleMode屬性值為7,容器坐標系的刻度單位為厘米。

16第十六頁,共二十九頁,編輯于2023年,星期二6.2.3坐標刻度

當選擇標準刻度時,系統自動使ScaleLeft、ScaleTop值為0,并設置ScaleHeight、ScaleWidth值,這些屬性決定了容器坐標的最小值、最大值。2.自定義刻度將ScaleMode值設置為0,則采用自定義刻度。用Scale方法設置坐標系后,ScaleMode值自動變為0。反之,ScaleLeft、ScaleTop、ScaleHeight、ScaleWidth屬性被改變,ScaleMode值自動變為0,單位長度根據變化后的上述屬性重新確定。

17第十七頁,共二十九頁,編輯于2023年,星期二6.3.1使用顏色

使用圖形方法繪圖時總要使用不同的顏色,VisualBasic6.0使用的顏色用一個長整型數(通常用16進制)表示,如&HFFFF00&。其數值由3部分組成:右邊的兩位(16進制數,下同)代表紅色的亮度值,中間的兩位代表綠色的亮度值,左邊的兩位代表藍色的亮度值。每個亮度值都可以取0~255之間的數值,因此共有1600多萬種不同的顏色取值。界面設計時可以通過在對象的屬性窗口中選擇需要設置的顏色屬性,用打開的“調色板”對話框進行顏色設置。程序運行時,可以使用顏色函數、使用系統預定義顏色常量、直接賦值或使用通用對話框中的“顏色”對話框來指定顏色。

18第十八頁,共二十九頁,編輯于2023年,星期二6.3.1使用顏色

1.顏色函數

VisualBasic提供了兩個專門處理顏色的函數:RGB和QBColor。

(1)RGB函數。

RGB函數是顏色函數中最常用的一個,其使用格式為:

RGB(Red,Green,Blue)

其中:Red、Green、Blue分別表示紅色的亮度值,綠色的亮度值和藍色的亮度值,取值范圍都是0~255。如將窗體Form1的背景色設置為紅色,命令如下:

Form1.BackColor=RGB(255,0,0)RGB函數采用紅、綠、藍三色原理,返回一個Long整數,用來表示一個顏色值。表6-1列出了一些常見的顏色以及這些顏色的三色值。19第十九頁,共二十九頁,編輯于2023年,星期二6.3.1使用顏色顏色紅色值綠色值藍色值白色255255255黃色2552550洋紅色2550255紅色25500青色0255255綠色02550藍色00255黑色000表6-2Color參數的設置值及對應的顏色

參數值顏色參數值顏色參數值顏色0黑

色6黃

色12亮紅色1藍色7白色13亮洋紅色2綠色8灰色14亮黃色3青色9亮藍色15亮白色4紅色10亮綠色

5洋紅色11亮青色

表6-1常見顏色的RGB值20第二十頁,共二十九頁,編輯于2023年,星期二6.3.1使用顏色例如:將窗體Form1的背景色設置為紅色,也可以寫作:Form1.BackColor=QBColor(12)2.使用預定義常量由VisualBasic6.0內部定義,讀者可以在“視圖”菜單的“對象瀏覽器”中選擇ColorConstants,查看所有這些常量,在程序中不需要聲明就可以直接使用。如:Form1.BackColor=vbRed '將窗體背景設置為紅色Form1.BackColor=vbGreen '將窗體背景設置為綠色3.直接賦值如果知道具體的顏色值,也可以直接給顏色屬性賦值,如:Form1.BackColor=&HFF& '設置窗體背景色為紅色Form1.BackColor=&HFF00& '設置窗體背景色為綠色Form1.BackColor=&HFFFF00&'設置窗體背景色為黃色21第二十一頁,共二十九頁,編輯于2023年,星期二6.3.2圖形方法與應用

1.畫點方法Pset格式:[容器.]Pset[step](x,y)[,color]

該方法在容器上(x,y)處以值為color的顏色畫點(x、y是Single類型表達式);缺省容器則指當前窗體,缺省color則為容器前景色(ForeColor)?!?/p>

容器的當前輸出位置坐標為(容器名.CurrentX,容器名.CurrentY),加Step關鍵字則在坐標(容器名.CurrentX+x,容器名.CurrentY+y)位置畫點?!?/p>

該方法所畫點的大小,取決于容器的DrawWidth屬性值。

DrawWidth用來設置繪圖線的寬度,值以像素為單位,取值范圍是1~32767,缺省值為1即一個像素寬。設置該屬性后,將影響Pset、Line和Circle等方法的輸出效果。

22第二十二頁,共二十九頁,編輯于2023年,星期二6.3.2圖形方法與應用2.返回某點顏色值的函數Point格式:Point(x,y)該函數的返回值為點(x,y)的顏色值。如執行語句“C=Point(50,100)”,將窗體坐標(50,100)處點的顏色值存入變量C。例6-1以下程序利用Pset方法繪制Cos(x)函數曲線。PrivateSubForm_Click()DimxAsInteger,iAsIntegerFori=0To10000PSet(i,1200),vbRed'用畫點的方法連線

NextiForx=0To10000PSet(x,1000*Cos(x*3.1415926/1800)+1200),vbBlueNextxEndSub

23第二十三頁,共二十九頁,編輯于2023年,星期二6.3.2圖形方法與應用3.畫線、矩形方法Line(1)兩點連線。①格式1:[容器名.]Line[(x1,y1)]-(x2,y2)[,Color]

缺省容器名指窗體;缺省起點坐標則以當前輸出位置為起點;缺省Color表達式則為容器的ForeColor屬性;坐標點為Single類型表達式。例如,下列語句分別在窗體、控件Picture1上畫線。

Line(100,150)-(400,300),RGB(120,120,200) '窗體坐標

Picture1.Line(10,10)-(60,100),RGB(0,0,255) '圖片框坐標②格式2:[容器名.]Line[(x1,y1)]-Step(x2,y2)[,Color]

所繪制直線的兩個端點位置為(x1,y1)和(x1+x2,y1+y2)。24第二十四頁,共二十九頁,編輯于2023年,星期二6.3.2圖形方法與應用(2)多點折線。連續使用缺省起點、畫兩點連線的語句,可以繪制多點折線:每句的終點位置為下一句的起點位置,首句或是采用格式1,或是以當前輸出位置作為起點。例如:下列語句在窗體上所繪折線如圖6-15所示。Line(50,100)-(100,100),RGB(120,120,200)Line-(150,150),RGB(120,120,200)Line-Step(-50,50),RGB(120,120,200)Line-(50,200),RGB(120,120,200)Line-(0,150),RGB(120,120,200)Line-(50,100),RGB(120,120,200)

25第二十五頁,共二十九頁,編輯于2023年,星期二6.3.2圖形方法與應用(100,200)(150,150)(100,100)(50,100)(0,150)(50,200)圖6-15多點折線

(3)矩形與填充矩形。①格式1:[容器名.]Line[(x1,y1)]-[Step](x2,y2)[,[Color][,B]]指定位置為矩形對角點,以容器的FillStyle填充格式、FillColor顏色在矩形內部填充;圖形邊框的顏色由Color表達式指定,缺省Color表達式則為容器的ForeColor屬性。圖形的填充特性只有對封閉圖形才起作用。26第二十六頁,共二十九頁,編輯于2023年,星期二6.3.2圖形方法與應用②格式2:[容器名.]Line[(x1,y1)]-[Step](x2,y2),[Color],BF

用畫矩形邊框的顏色再填充矩形為實心,該語句的輸出效果與容器的FillStyle、FillColor屬性無關。例如:執行下列語句后,在窗體上的輸出結果如圖6-16所示。Form1.FillStyle=2Form1.FillColor=vbBlueForm1.ForeColor=vbGreenLine(100,100)-(1500,1000),vbRed,B'紅色外框,蘭色水平填充線Line(1600,100)-(2500,1000),,B'綠色外框,蘭色水平填充線Line(2800,100)-(3800,1000),vbRed,BF'紅色實心矩形27第二十七頁,共二十九頁,編輯于2023年,星期二6.3.2圖形方法與應用4.圓、圓弧與橢圓方法Circle(1)畫圓。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論