控制項的mousedown事件處理過程青兩個引數,乙個是sender,乙個是mouseeventargs類的事件。
mouseeventargs類是定義在system.windows.forms中的乙個類,它由同乙個命名空間下的eventargs繼承而來。
mouseeventargs類的主要屬性有:
graphics類中定義的drawlines用於按照陣列中給定的點序列繪製折線。
繪製一系列連線一組 point 結構的線段。
drawlines(pen, point)
繪製一系列連線一組 point 結構的線段。
drawlines(pen, pointf)
繪製一系列連線一組 pointf 結構的線段。
滑鼠左鍵開始,右鍵結束
public class form1
dim mygraph as graphics
dim mypen as new pen(brushes.red, 3)
dim pointpath() as point
dim pointnum as integer = 0
private sub form1_load(byval sender as object, byval e as system.eventargs) handles me.load
mygraph = picturebox1.creategraphics
end sub
private sub picturebox1_mousedown(byval sender as object, byval e as system.windows.forms.mouseeventargs) handles picturebox1.mousedown
if e.button = mousebuttons.left then
if pointnum <= 0 then
redim pointpath(0)
else
redim preserve pointpath(pointpath.getupperbound(0) + 1)
end if
pointpath(pointpath.getupperbound(0)).x = e.x
pointpath(pointpath.getupperbound(0)).y = e.y
pointnum += 1
elseif e.button = mousebuttons.right then
mygraph.drawlines(mypen, pointpath)
pointnum = 0
end if
end sub
private sub picturebox1_mousemove(byval sender as object, byval e as system.windows.forms.mouseeventargs) handles picturebox1.mousemove
if pointnum > 1 then
mygraph.clear(picturebox1.backcolor)
mygraph.drawlines(mypen, pointpath)
mygraph.drawline(mypen, pointpath(pointnum - 1).x, pointpath(pointnum - 1).y, e.x, e.y)
elseif pointnum = 1 then
mygraph.clear(picturebox1.backcolor)
mygraph.drawline(mypen, pointpath(pointnum - 1).x, pointpath(pointnum - 1).y, e.x, e.y)
end if
end sub
end class
MFC 滑鼠畫線總結
使用mfc滑鼠畫線,主要使用滑鼠左鍵單擊,滑鼠移動,滑鼠右鍵單擊等響應函式完成。在mfc畫線是主要要注意以下幾點 1 座標系問題 在滑鼠左鍵單擊的響應函式中獲取的滑鼠座標為裝置座標 螢幕座標 而畫線使moveto,lineto函式使用的是邏輯座標 客戶區座標 因此在獲取滑鼠單擊座標時需要進行座標系的...
VTK 滑鼠畫線(點移動線可同步更新)
滑鼠互動事件 點兩個點形成一條線 通過滑鼠點兩個點,同時標記這兩個點,形成一條線。只有一條線,並不是每次點兩個點都會新出現一條線 這個版本是個初級版本,後面我也實現了任意拖動乙個點,直線會相應發生變化,以及兩點在z軸上的變動,線也會同步更新 太多所以我也沒有貼上來,有需要了我會發出來!double ...
C 編寫畫直線,簡單畫線,滑鼠互動畫線,畫一條線
從最簡單c 窗體畫線開始,直接開啟vs,選擇c 的窗體應用程式,然後把 放進去,事件繫結就ok,下面是詳細步驟。using system using system.collections.generic using system.componentmodel using system.data us...