| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 944 人关注过本帖
标题:请问怎么样让界移动
只看楼主 加入收藏
hsbwp1314
Rank: 2
来 自:湖南长沙
等 级:论坛游民
帖 子:88
专家分:25
注 册:2008-12-1
结帖率:53.85%
收藏
 问题点数:0 回复次数:9 
请问怎么样让界移动
我把窗体做成这样了,请问怎么样才可以让鼠标托动它时跟着鼠标移动到指定位置?
图片附件: 游客没有浏览图片的权限,请 登录注册
2010-12-20 10:53
cccool
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:268
专家分:555
注 册:2007-5-1
收藏
得分:0 
mousedown mousemove mouseup

[fly]让心情飞一会[/fly]
">Email to Me     
2010-12-20 13:49
lisida888
Rank: 4
来 自:湖北武汉
等 级:业余侠客
威 望:1
帖 子:176
专家分:267
注 册:2008-9-19
收藏
得分:0 
Declare Function ReleaseCapture Lib "user32" () As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _
hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) _
 As Long
Public Const HTCAPTION = 2
Public Const WM_NCLBUTTONDOWN = &HA1

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReleaseCapture
SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End Sub

   全世界都颓废了,我拿什么对它说“不”!
2010-12-21 11:07
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
拖动无标题栏窗体。坛子里有过这样的贴子。搜索一下即可

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2010-12-21 12:51
hsbwp1314
Rank: 2
来 自:湖南长沙
等 级:论坛游民
帖 子:88
专家分:25
注 册:2008-12-1
收藏
得分:0 
回复 3楼 lisida888
是放在模块前面吗?
2010-12-22 17:26
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
回5楼:

它的API申请是 局域申请, 是放在 窗体代码前的。不要放在模块里,
放在模块里,窗体里是用不了的。

授人于鱼,不如授人于渔
早已停用QQ了
2010-12-23 10:06
hsbwp1314
Rank: 2
来 自:湖南长沙
等 级:论坛游民
帖 子:88
专家分:25
注 册:2008-12-1
收藏
得分:0 
我放在窗体前面还是不行,能具体点吗
2011-01-12 11:31
jiashie
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:237
专家分:999
注 册:2009-4-30
收藏
得分:0 
LZ头像是本人的么?
是公务员?
2011-01-12 15:55
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
统统改成 Private 吧,刚重新试了一下

程序代码:
Option Explicit

Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _
hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) _
As Long
Private Const HTCAPTION = 2
Private Const WM_NCLBUTTONDOWN = &HA1

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReleaseCapture
SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End Sub

你可以把上面这些代码放在 你窗体第一个代码之前,包括里面的那个响应过程。


授人于鱼,不如授人于渔
早已停用QQ了
2011-01-12 17:32
xunyitian
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-1-3
收藏
得分:0 
Dim Xm, Ym As Single
Dim dX, dY As Single
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Xm = X
Ym = Y
End If
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
dX = X - Xm
dY = Y - Ym
Left = Left + dX
Top = Top + dY
End If
End Sub
2011-01-12 19:10
快速回复:请问怎么样让界移动
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029777 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved