Private Declare Function SetCapture Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
然后,我们可以在控件(以 Picture1 为例)的 MouseMove 事件上加上以下代码:
If (0 <= X) And (X <=Picture1.Width And (0 <=Y) And (Y <=Picture1.Height)
Then
SetCapture Picture1.hWnd '鼠标进入
Else
ReleaseCapture '鼠标退出
End If
Private Declare Function ReleaseCapture Lib "user32" () As Long
然后,我们可以在控件(以 Picture1 为例)的 MouseMove 事件上加上以下代码:
If (0 <= X) And (X <=Picture1.Width And (0 <=Y) And (Y <=Picture1.Height)
Then
SetCapture Picture1.hWnd '鼠标进入
Else
ReleaseCapture '鼠标退出
End If
解决方案 »
- EXCEL中如何去动态取SQL中的数据
- VB中怎样获得一个二维数组末维的数值
- VB(或任意程序)将物理内存的占用挪到虚拟内存里的方法!
- [还是不懂~~~]如何读取某一个word文档内容,并依次保存到一个数组中去(以回车为分隔)?
- ACCESS加密后错误
- [編寫外掛]如何修改imagepath通過檢測
- 对VB不是很熟悉,各位大侠可以帮忙看一段程序吗?急!
- 一个新手的疑惑???(在线)
- 向高手请教改变打印端口的API函数!
- 求教各位高手:小弟在用VB编程时遇到点问题,求教一定高分送上。
- csdn是怎么搞的?我的用户名是tyd163xx密码******,可是一登录却变成snowingedge了?????气愤!!!!!!
- 请高手指教,怎样在开始菜单中显示出Searching项,急!急!急!
好!这20分是你的了!
不过,少等,我还有问题:
用你的办法,可以实现!但是:
1、vb的mousemove不是很敏感,有时会漏掉!
2、如果用户控件不是规则矩形,使用 obj.WIDTH 和 HEIGHT 等属性判断就会有很大误差,如何解决。 我再加60分,每小题30分,盼有高手解之!
和抬起left button时会自动set/release capture.2.有个API函数PtInRegion可以做到判断点是否在不规则矩形内部
VB有个HitTest Event你也可以看一下