vb6 – 通过拖动鼠标滚动图像

vb6 – 通过拖动鼠标滚动图像,第1张

概述当我使用水平和垂直滚动条时,我有滚动的图像.但我想像在Photoshop中一样拖动图像(使用手工工具并通过缩放图像进行探索).在Visual Basic 6.0中有没有办法这样做?我已将鼠标的默认光标更改为手形光标.现在我只想拖动图像滚动. 很简单,您只需要处理包含图像的控件的鼠标事件.我将逐步使用我编写的应用程序中的生产代码来实现这一功能. 从MouseDown事件开始.在这里,您需要检查哪个按 当我使用水平和垂直滚动条时,我有滚动的图像.但我想像在Photoshop中一样拖动图像(使用手工工具并通过缩放图像进行探索).在Visual Basic 6.0中有没有办法这样做?我已将鼠标的默认光标更改为手形光标.现在我只想拖动图像滚动.解决方法 很简单,您只需要处理包含图像的控件的鼠标事件.我将逐步使用我编写的应用程序中的生产代码来实现这一功能.

从MouseDown事件开始.在这里,您需要检查哪个按钮处于关闭状态(如果您只允许使用左按钮,左右按钮或右按钮进行拖动),请将鼠标光标更改为关闭或折叠的手(指示拖动正在进行中),并设置一些跟踪光标起始坐标的成员变量.例:

Private Sub picBox_MouseDown(button As Integer,Shift As Integer,x As Single,y As Single)    ' When left mouse button is pressed down (initiating a drag)    If button = 1 Then        ' Store the coordinates of the mouse cursor        xpos = x        ypos = y        ' Change the cursor to hand grab icon        picBox.MouseIcon = LoadPicture(App.Path & "\Resources\Cursors\grab.ico")    End IfEnd Sub

然后,您将处理MouseMove事件,您将在其中执行实际拖动(在图片框内移动图像).在这个例子中,我选择简单地在容器Form上移动整个图片框控件,而不是在图片框内移动图像.您可能需要在此处更改逻辑,具体取决于表单的布局和您的特定需求.例如,你说你有滚动条 – 在这种情况下,你需要在这里调整X和Y滚动条的位置.

Private Sub picBox_MouseMove(button As Integer,y As Single)    ' When left mouse button is being held down (drag)    If button = 1 Then        ' Drag the picture Box around the form        picBox.Move x + (picBox.left - xpos),y + (picBox.top - ypos)    End IfEnd Sub

最后,您需要处理MouseUp事件,您将通过重置光标来结束拖动:

Private Sub picBox_MouseUp(button As Integer,y As Single)    ' Stop normal dragging    If button = 1 Then        ' Set the cursor back to the unclapsed hand        picBox.MouseIcon = LoadPicture(App.Path & "\Resources\Cursors\hand.ico")    End IfEnd Sub

当然,您需要将这些成员变量添加到Form类的顶部,以跟踪光标的先前位置(在x和y坐标中).像这样简单的事情会:

Private xpos As LongPrivate ypos As Long

游标看起来像这样,类似于你在Adobe Acrobat或Mac OS 9中发现的(可能最初是由像Susan Kare这样神奇的人绘制的;可能不属于公共领域):

总结

以上是内存溢出为你收集整理的vb6 – 通过拖动鼠标滚动图像全部内容,希望文章能够帮你解决vb6 – 通过拖动鼠标滚动图像所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1229520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存