vb画图板为什么画不出东西?急!!!

来源:百度知道 编辑:UC知道 时间:2024/09/24 00:34:55
我的代码:
Dim drawnow As Boolean
Private Sub Command1_Click()
CommonDialog1.ShowColor 'commondialog1.action=3
Picture1.ForeColor = CommonDialog1.Color
End Sub

Private Sub Command2_Click()
Picture1.Cls
End Sub

Private Sub Form_Load()
Form1.Caption = "鼠标绘图板"
drawnow = False
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
drawnow = True
CurrentX = X
CurrentY = Y
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If drawnow Then Line -(X, Y)
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
drawnow = False
End Sub

Private Sub Option1_Click()
Picture1.DrawWidth = 1
End Sub

Private Sub Option2_Click()
Picture1.DrawWidth = 3
End Sub

首先要把窗体和图片框的autoredraw属性都设为“true”。其次,不知道你要在窗体上画还是在图片框上画。如果在窗体上画,那么就要在command的click事件上加一句Form1.ForeColor = CommonDialog1.Color。如果要在图片框上画,就要加上图片框的MouseDown、MouseMove、MouseUp事件才行。

你的错误在于,没弄清楚画的对象在哪,
一会儿对象是窗体,一会儿又是图片框,当然没结果
我估计你是在图片框中画,这样改
Dim Drawnow As Boolean
Private Sub Command1_Click()
CommonDialog1.ShowColor 'commondialog1.action=3
Picture1.ForeColor = CommonDialog1.Color
End Sub

Private Sub Command2_Click()
Picture1.Cls
End Sub

Private Sub Form_Load()
Form1.Caption = "鼠标绘图板"
Drawnow = False
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Drawnow = True
Picture1.CurrentX = X
Picture1.CurrentY = Y
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Drawnow Then Picture1.Line -(X, Y)
End Sub

Private Sub Form_MouseUp(Button A