代碼寫起來可能比較麻煩,給你個思路,就是用GraphicsPath來繪制,然后通過繪制目標(biāo)的鼠標(biāo)移動事件來獲取當(dāng)前鼠標(biāo)在繪制目標(biāo)中的實際位置,再通過GraphicsPath的IsVisible()方法來確認(rèn)鼠標(biāo)是否包含在GraphicsPath中。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),芮城企業(yè)網(wǎng)站建設(shè),芮城品牌網(wǎng)站建設(shè),網(wǎng)站定制,芮城網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,芮城網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
DrawLine直線比較容易處理,只要得到Line的坐標(biāo)點,然后比較當(dāng)前鼠標(biāo)坐標(biāo)就好。
這個必須用控件的方法解決,VB6有個Line控件很容易解決這個問題,但是VB.NET沒有了,幸好微軟也想到了這個缺陷,提供免費(fèi)的Visual Basic PowerPacks控件箱,其中有Line控件。
Visual Basic PowerPacks下載地址:
使用 LineShape 控件繪制直線:
畫直線
為了在兩個坐標(biāo)點之間畫一條直線,可使用 Line 方法的簡單形式,其語法如下:
[object.]Line [(x1, y1)]–(x2, y2)[, color]
其中 Object 是可選擇的;若省略,此方法將在代碼所連接的窗體(當(dāng)前窗體)上畫線。第一對坐標(biāo)也是可選的。就所有的坐標(biāo)值來說,x 和 y 參數(shù)都既可以是整數(shù),也可以是分?jǐn)?shù)。例如,下列語句可在窗體上畫一條斜線。
Line (500, 500)–(2000, 2000)
Visual Basic 所畫出的一條直線,要包括第一個端點,而不是最后一個端點。這種行為在從點到點畫封閉曲線時是有用的。為了畫最后一個端點,應(yīng)使用這種語法:
PSet [Step] (0, 0)[, color]
第一對坐標(biāo) (x1, y1) 是可選的。如果省略這些坐標(biāo),將把該對象的 x,y 當(dāng)前位置(畫圖坐標(biāo))作為端點。當(dāng)前位置是由 CurrentX 和 CurrentY 屬性指定的,然而在其它情況它會等于以前的圖形方法或 Print 方法所畫最后點的位置。如果以前沒有使用過圖形方法或 Print 方法,或沒有設(shè)置 CurrentX 和 CurrentY 屬性,則缺省位置為對象的左上角。
例如,以下語句通過三點連接畫出一個三角形。
'設(shè)置起點的 x 坐標(biāo)。
CurrentX = 1500
'設(shè)置起點的 y 坐標(biāo)。
CurrentY = 500
'向起點的右下方畫一直線。
Line -(3000, 2000)
'向當(dāng)前點的左方畫一直線。
Line -(1500, 2000)
'向右上方畫一直線到起點。
Line -(1500, 500)
Blanker 應(yīng)用程序使用 Line 方法創(chuàng)建出了一些有趣的圖案樣式。為了看到這些圖案,可從“選項”菜單中,選定“Crossfire”,然后選定“Start Demo”按鈕,即可看到。
Step 關(guān)鍵字
PSet、Line、和 Circle 方法使用以下語法可指定一個或多個點:
(x, y)
可在每個點之前加上 Step 關(guān)鍵字,用來指定要畫出的點,是相對最后畫出點的位置。Visual Basic 要將 x 和 y 的值加到最后所畫的點上。例如,下邊這條語句:
Line (100, 200)–(150, 250)
等價于:
Line (100, 200)–Step(50, 50)
在許多情況下,Step 關(guān)鍵字可免除持續(xù)不斷地記錄最后所畫點位置的負(fù)擔(dān)。經(jīng)常最為關(guān)心的可能是兩點的相對位置,而不是它們的絕對位置。
使用顏色參數(shù)
為了改變直線的顏色,應(yīng)將可選的 color 參數(shù)與圖形方法一起使用。例如,下述語句將畫一條深藍(lán)色的直線:
Line (500, 500)–(2000, 2000), RGB(0, 0, 255)
如果省略了 color 參數(shù),將使用在其上畫線的對象的 ForeColor 屬性,來決定直線的顏色。
RND來設(shè)置隨機(jī)值
ACCESS窗體主要是用來開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的,如果你想在窗體上畫線條的確不太給力。在VB窗體里劃線以坐標(biāo)為參數(shù)使用LINE方法非常方便,但是在OFFICE,ACCESS里的VBA
LINE方法(當(dāng)然需要使用坐標(biāo)參數(shù),聯(lián)機(jī)說明有詳細(xì)介紹)只能應(yīng)用于報表而不能應(yīng)用于窗體。
若要在ACCESS窗體里面劃線,我建議你使用下列兩種辦法:
1)如果你VB比較熟練,可用VB設(shè)計一個帶LINE方法的自定義ActiveX控件,然后再在ACCESS
VBA中引用該控件,之后將你的自定義控件添加到ACCESS窗體里面,你就可以使用那個ActiveX控件的LINE方法在該控件里繪圖劃線了;
2)使用ACCESS提供的內(nèi)置直線控件(Line)。
首先在ACCESS窗體里放置若干個Line控件(要用多少個就放置多少個)將Visible屬性設(shè)置為False,給不同用途的Line控件分別命名為:類型加尾號,例如:X軸標(biāo)尺1,X軸標(biāo)尺2,...
斜線1,斜線2.....
直線1,直線2,......等等
以便以后可集中而不必為每一個控件壹壹設(shè)置屬性以提高效率,其它屬性暫時不理。
使用VBA語言設(shè)置Line控件的各種屬性在窗體里的特定位置畫線,例如:
畫斜線
with
斜線1
.Top=300
‘單位:緹
相當(dāng)于一個像素
567緹=1厘米
.LineSlant=False
'
確定線條左斜還是右斜
.Left=200
.width=800
.height=400
.visible=true
end
with
畫水平線
with
直線2
.Top=300
.Left=900
.width=350
.height=0
.visible=true
end
with
畫垂直線
with
直線3
.Top=300
.Left=900
.width=0
.height=300
.visible=true
end
with
直線的粗細(xì)
用BorderWidth屬性設(shè)置(取值范圍0-6,單位為磅)
直線的顏色
用Bordercolor屬性設(shè)置(例如取
vbBlue,vbGreen,vbRed
等等)
特別提醒一下,除了使用直線控件外,其實你還可以使用其它類型的控件來畫圖,這要看你的想象力了。
只要你正確設(shè)置各種畫線控件的絕對和相對位置及各種屬性值,充分利用VBA的循環(huán)、判斷等語句相信你能夠在ACCESS窗體里畫出各種效果相當(dāng)不錯的圖形,如果配合Timer甚至還能繪出動畫效果!
具體的VBA實現(xiàn)代碼這里就不寫了,祝你成功!
新聞名稱:vb.net窗體上畫線 vb窗體設(shè)計添加菜單
網(wǎng)頁地址:http://www.muchs.cn/article6/doeojig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、營銷型網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、軟件開發(fā)、網(wǎng)站維護(hù)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)