黎明
摘 要:隨著軟件技術(shù)的不斷更新發(fā)展,計(jì)算機(jī)繪圖方便高效,在生活生產(chǎn)中扮演著極為重要的角色, Windows環(huán)境下的Visual Basic提供了豐富的圖形功能。按鼠標(biāo)可以在窗體上繪制各種圖形,并且可下以更改畫筆粗細(xì)及顏色。
關(guān)鍵詞:Visual Basic;手繪板;程序設(shè)計(jì)
Visual Basic 本身具有強(qiáng)大的圖形繪制功能,不但可以用SHAPE控件完成繪圖,也可以用代碼的形式來繪制。所開發(fā)的簡易繪圖板主要的特點(diǎn)就是用鼠標(biāo)在屏幕上繪制想要的各種圖案,并具可以設(shè)置畫筆的粗細(xì),以及選擇畫筆的色彩和背景色等,可以設(shè)置清除按鈕,對不滿意的圖清除重畫。程序執(zhí)行效果圖如下:
從手繪板的界面可以發(fā)現(xiàn),需要做三個(gè)按鈕,一個(gè)滾動(dòng)條。按鈕主要的功能是設(shè)置畫布的背景色,設(shè)置畫筆的顏色,以及清除圖案。而滾動(dòng)條的作用則是設(shè)置畫筆的粗細(xì),以便于在繪制圖案的時(shí)候可以靈活的調(diào)整筆的寬度。
具體的開發(fā)步聚如下:
1.程序,啟動(dòng)VB程序;
2.在程序界面(FORM)下,拖出三個(gè)按鈕(BUTTON),分別命名為畫布背景色,畫筆顏色,清除圖案;
3.在窗口中,添加標(biāo)簽和滾動(dòng)條,如上圖,這里需要注意設(shè)置滾動(dòng)條的屬性值min=1,max=20,這里的意思是畫筆最細(xì)為1像索點(diǎn)的寬度,最大為20像索點(diǎn)的寬度。
4.手繪板界面的創(chuàng)建完成后,接下來就是功能的實(shí)現(xiàn),這需要為按鈕加代碼,具體的如下:
如 畫布背景色(BUTTON1):
Private Sub Command1_Click()
CommonDialog1.ShowColor //通用對話框功能打開;
FORM1.BackColor = CommonDialog1.Color //背景色與通用對話框顏色一致
End Sub
這里需要強(qiáng)調(diào)的一點(diǎn),有一個(gè)隱形的控件大家在圖中是看不到的,就是COMMONDIALOG(通用對話框控件),這個(gè)控件在程序執(zhí)行中不顯示,但必須要有,功能特別強(qiáng)大,主要可以提供如顏色設(shè)置,字體設(shè)置,打印機(jī)設(shè)置等最主要的功能。這個(gè)控件需要在VB部件下添加。
畫筆顏色按鈕(BUTTON2)代碼如下:
Private Sub Command2_Click()
CommonDialog1.ShowColor //通用對話框功能打開;
FORM1.ForeColor = CommonDialog1.Color //畫筆色與通用對話框顏色一致;
End Sub
清除圖案按鈕(BUTTON3)代碼如下:
Private Sub Command1_Click()
FORM1.Cls //清屏;
End Sub
接下來,就是給滾動(dòng)條加代碼,加代碼的目的,是拖動(dòng)的時(shí)候,畫筆本身的寬度發(fā)生改變,具體代碼如下:
Private Sub HScroll1_Change()
FORM1.DrawWidth = HScroll1.Value //滾動(dòng)條的VALUE值始終不會(huì)超過前面的設(shè)置的MIN,MAX的值;
End Sub
那么上面的控件代碼都做好了,是不是就可以直接繪制呢?當(dāng)然,這是不行的。因?yàn)槲覀冞€沒有給鼠標(biāo)設(shè)置功能,我們的目的是按下鼠標(biāo)左鍵不放開,在窗體上就可以繪制任何的圖形,接下來的二段代碼會(huì)告訴你怎么做:
1.先要定義好坐標(biāo)點(diǎn)的位置:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) //MOUSEDOWN是指按下鼠標(biāo)事件
CurrentX = X
CurrentY = Y
End Sub
2.開始繪制畫線
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
//mousemove是指鼠標(biāo)移動(dòng)的事件
If Button = 1 Then //這句代碼的意思是按下左鍵開始繪制,如果你想按右鍵只需要將BUTTON值設(shè)為2即可;
Line -(X, Y) //LINE代碼主要是繪制線條
End If
End Sub
只需要將上面的二段代碼在VB代碼窗中添加完成,那么簡易手繪板的制作就大功告成了。在整個(gè)程序設(shè)計(jì)的過程中,我們先應(yīng)該清楚需要用到哪些控件,需要實(shí)現(xiàn)什么樣的功能,然后具體如何來實(shí)施,這是程序開發(fā)必要的三個(gè)過程。可能在上面的手繪板制作過程中大家還有不清楚的地方,希望多動(dòng)手,多實(shí)踐,一定可以做出更優(yōu)秀的,實(shí)用的工具。
參考文獻(xiàn):
[1]楊明廣.王秀華. Visual Basic程序設(shè)計(jì)教程[M].北京:中國科學(xué)技術(shù)出 版社,2006.
[2]王秀華.余建坤. Visual Basic程序設(shè)計(jì)上機(jī)和級考實(shí)訓(xùn)教程[M].北京: 中國科學(xué)技術(shù)出版社,2006.
[3]孫遠(yuǎn)光 Visual Basic程序設(shè)計(jì)實(shí)用教程 北京理工大學(xué)出版社,2010年.