VB移动窗体

如何在VB内使鼠标拖动Label时,窗体被拖动。... 如何在VB内使鼠标拖动Label时,窗体被拖动。 展开
 我来答
Scitin
2007-08-26 · TA获得超过2052个赞
知道小有建树答主
回答量:1487
采纳率:0%
帮助的人:884万
展开全部
根本不用API,这样就可以啦:
Dim TF As Boolean
Dim MX As Integer
Dim MY As Integer

Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
TF = True
MX = X
MY = Y
End Sub

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If TF = True And Button = 1 Then
Form1.Move Form1.Left - MX + X, Form1.Top - MY + Y
End If
End Sub

Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
TF = False
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者Q5ZKni6UTb
2019-05-02 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.5万
采纳率:29%
帮助的人:841万
展开全部
人家是问你VB你跟LZ来个易语言,这样都能有最佳答案,我真是服了楼主了,楼下说的也有问题,不是什么接口不接口的问题,这个完全可以用API函数来实现:
Private
Declare
Function
SetWindowPos
Lib
"user32"
_
(ByVal
Hwnd
As
Long,
_
ByVal
hWndInsertAfter
As
Long,
_
ByVal
x
As
Long,
_
ByVal
y
As
Long,
_
ByVal
cx
As
Long,
_
ByVal
cy
As
Long,
_
ByVal
wFlags
As
Long)
As
Long
'为窗口指定一个新位置和状态
Private
Declare
Function
FindWindow
Lib
"user32"
Alias
"FindWindowA"
(ByVal
lpClassName
As
Any,
_
ByVal
lpWindowName
As
String)
As
Long
Private
Sub
Command1_Click()
Const
SWP_NOSIZE
=
&H1
'忽略cx,cy
Const
SWP_NOZORDER
=
&H4
'忽略hWndInsertAfter
Dim
mHwnd&
mHwnd&
=
FindWindow(0&,
"无标题.txt
-
记事本")
’这里用记事本来举例
SetWindowPos
mHwnd&,
0,
100,
100,
0,
0,
SWP_NOZORDER
Or
SWP_NOSIZE
End
Sub你可以修改以下相关的数值来达到你要的目的,!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式