2013-04-02 121 views
0

我已經使用的網站負載爲這一點,但沒有工作,所以我希望我能得到一個正確的答案如何在PictureBox畫在VB6

我已經試過這可能任何一個可以告訴我什麼是錯的:

Private sub Picture1_mouseDown 
    x = picture1.currentx 
    y = picture1.currenty 
    End sub 

    Private sub Picture1_MouseMove 
    If button = 1 then 
    line (picture1.currentx,picture1.currenty)-(x,y), _ 
    QBColor(0) 
    End if 
    End sub 

我已經削減了私人子Picture1_MouseMove,鼠標按下()位了,因爲我在匆忙使用其Line方法來完成

回答

0

這人會畫一條線,只能從kurniliya的解決方案略有不同,其吸引點

Option Explicit 

Private lastX As Single 
Private lastY As Single 

Private Sub Form_Load() 
    ' no need to set this every time we move the mouse inside Picture1 
    Picture1.DrawWidth = 5 
End Sub 

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 
    If Button = 1 Then 
     Picture1.Line (lastX, lastY)-(X, Y), vbBlue 
    End If 
    lastX = X 
    lastY = Y 
End Sub 
+0

謝謝,但我現在已經完成了 –

0

PictureBox控制劃清界限:

副線(標誌爲整數,X1單,Y1單,X2單,Y2作爲單一,顏色龍)

Member of VB.PictureBox 
Draws lines and rectangles on an object. 

沒有太多可說的,它已經被覆蓋在How do you draw a line dynamically in vb6?

你似乎在編寫事件處理程序時遇到了麻煩。如果您不知道/記住簽名,則IDE始終在那裏提供幫助。查看Assigning Code to a Control to Respond to an Event in VB6教程。

有代碼可以幫助您開始繪圖。 Picture1PictureBox控制。當您將鼠標移動到保持鼠標左鍵的圖片框上時,將會繪製藍線。

Option Explicit 

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 
    If Button = 1 Then 
     Picture1.DrawWidth = 5 
     Picture1.Line (X, Y)-(X, Y), vbBlue 
    End If 
End Sub 
+2

@ Swynco.Inc,'選項Explicit'可能是供您帶走的最重要的事情這個答案適用於VB6的所有未來編碼 – djv

+0

這個作品 - 在一定程度上。它沒有畫出一條線,而是一個點,並且與'Picture1.PSet(X,Y)'類似,增加了對點顏色的控制。 @ Swynco.Inc正在繪製線條的方向 - 或至少連接點,你可以從'MouseMove'處理程序中看到。在快速移動鼠標的同時嘗試此代碼,您將看到它正在繪製點,而不是線。 – djv