如何在鼠标左键按下时,一直执行Form1.PSet (X, Y)呢?
我想利用PSet (X, Y)模仿个画笔。
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Text1.Text = X
Text2.Text = Y
Form1.PSet (X, Y)
End Sub
我想利用PSet (X, Y)模仿个画笔。
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Text1.Text = X
Text2.Text = Y
Form1.PSet (X, Y)
End Sub
解决方案 »
- 请大家看下面代码,jmail发送邮件出错,怎么修改?
- 如何用VB编写计算内插的程序
- VB6.0如何判断Picture里是否有控件
- 提供一个直接导出Excel的组件, BIFF8 格式(office97/office2000)
- 问一个关于对话框显示的问题,请大家帮忙,谢谢。。。。。。。
- 如何用api函数创建文件关联啊
- 请问如何使ProgressBar带上颜色?
- activereport的终极问题(能解决得我感激一辈子),要多少分都给
- 请问FONTSIZE=16的字它的高和宽是多少,有公式吗?
- 如何读写一个BINARY文件
- vb中用setwindowlong函数改变窗体样式后,窗体无法自动重画,请高手解决?
- vba调用Vc开发的dll,返回超长的字符串,如何解决?
If (Button = 1) Then
Text1.Text = X
Text2.Text = Y
Form1.PSet (X, Y)
End If
有个缺点就是,当鼠标移动太快时,会出现“断线”。
代码如下:
Private Sub Form_mousedown(Button As Integer, Shift As Integer, X As Single, Y As Single)
if button=1 then
currentx=x
currenty=y
endif
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If (Button = 1) Then
Form1.line(currentx,currenty)- (X, Y)
End If
End Sub
这样就可以模仿画笔了!
写好了才发现楼上都有了。。
楼上的代码在最前加个Private CurrentX As Single,CurrentY As Single
能否给解释一下其中的关键点呢?我不是很理解。
Form1.line(currentx,currenty)- (X, Y)中的(currentx,currenty)和(X, Y)是不是有个先后关系?有个先来后到?
请指点。
Form1.line(currentx,currenty)- (X, Y)中的(currentx,currenty)和(X, Y)是不是有个先后关系?有个先来后到?
请指点。
'改变Me.ScaleMode值,可以画出不同粗细的线条。不过有的线有点难看。
'要画出好看的线,并画了各种粗细并连续的线条,只用有关画笔的API。Option Explicit
Private x0 As Integer, Y0 As Integer
Private Sub Form_Load()
Me.ScaleMode = 3
End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Me.PSet (X, Y), RGB(255, 0, 0)
Me.Line (x0, Y0)-(X, Y), RGB(0, 0, 255), BF
End If
x0 = X: Y0 = Y
End Sub