2013-04-02 3 views
0

j'ai utilisé des charges de sites pour cela, mais pas travaillé donc j'espère que je pourrais obtenir une réponse correcteComment dessiner un picturebox dans VB6

i ont essayé cela pourrait-il me dire ce qui est erroné avec elle:

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 

j'ai coupé le Private sub Picture1_MouseMove, mouseDown() bits au large parce que je suis dans une course pour terminer

Répondre

0

Celui-ci va tracer une ligne, peu différente de la solution de kurniliya qui attire des points

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

merci, mais je l'ai fait maintenant –

0

Vous dessinez une ligne sur PictureBox commande en utilisant sa méthode Line:

Sub ligne (Flags As Integer, X1 As Single, Y1 As Single, X2 As Single, Y2 Comme, Couleur As Long)

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

Il n'y a pas grand chose à dire à ce sujet, et il a déjà été couvert en How do you draw a line dynamically in vb6?

Vous semblez avoir des problèmes avec l'écriture de gestionnaires d'événements. Si vous ne connaissez pas/n'oubliez pas la signature, IDE est toujours là pour vous aider. Découvrez le tutoriel Assigning Code to a Control to Respond to an Event in VB6.

Il existe le code pour vous aider à commencer à dessiner. Picture1 est PictureBox contrôle. La ligne bleue sera dessinée lorsque vous déplacez votre souris sur la zone d'image en maintenant le bouton gauche de la souris enfoncé.

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, option 'Explicit' est probablement la chose la plus importante pour vous de prendre loin de cette réponse pour tout votre futur codage dans VB6 – djv

+0

cela fonctionne - dans une certaine mesure. Il ne trace pas une ligne, mais plutôt un point, et est assez similaire à 'Picture1.PSet (X, Y)' avec un contrôle supplémentaire sur la couleur du point. @ Swynco.Inc allait dans le sens des lignes de dessin - ou au moins des points connectés, comme vous pouvez le voir dans le gestionnaire 'MouseMove'. Essayez ce code en déplaçant la souris rapidement et vous verrez que ce sont des points de dessin, pas des lignes. – djv

Questions connexes