vb中控制窗体位置
想写个函数,初始时窗体在屏幕左上方,鼠标经过时窗体就变到右下方,再经过又变回左上方.如何实现?...
想写个函数,初始时窗体在屏幕左上方,鼠标经过时窗体就变到右下方,再经过又变回左上方.如何实现?
展开
展开全部
mouse有个确定在视窗窗体(不是程序窗体)中坐标的方法,自己查帮助或通过索引找吧(索引输“窗体”找),我很久前用过。
你可以设定鼠标坐标小于等于二分之一视窗窗体时发生该事件(伪代码 if(mouse.winX<=windows.width/2&&mouse.winY<=windows.height/2){程序窗体移位} 记住不要用绝对值,因为视窗大小可能是800*600也可能是1024*768,所以用“/2”这个相对值)。
同时你必须设一个bool值或int标志,以true和flase或0和1来判断程序窗体是在左上方还是右下方,并区别相隔两次鼠标经过的不同。如果不这样做那它只移一次,就无效了。
没法给你写代码,我做了很久的java程序员,不用VB了。
你可以设定鼠标坐标小于等于二分之一视窗窗体时发生该事件(伪代码 if(mouse.winX<=windows.width/2&&mouse.winY<=windows.height/2){程序窗体移位} 记住不要用绝对值,因为视窗大小可能是800*600也可能是1024*768,所以用“/2”这个相对值)。
同时你必须设一个bool值或int标志,以true和flase或0和1来判断程序窗体是在左上方还是右下方,并区别相隔两次鼠标经过的不同。如果不这样做那它只移一次,就无效了。
没法给你写代码,我做了很久的java程序员,不用VB了。
展开全部
楼上提供一种思路,代码如下:
Option Explicit
Dim wz As Boolean ' 声明变量
Private Sub Form_Load()
Me.Height = Screen.Height / 2
Me.Width = Screen.Width / 2
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If wz Then
Move Screen.Width / 2, Screen.Height / 2 ', 2 * Inch, Inch
Else
Me.Move 0, 0
End If
wz = Not wz
End Sub
Option Explicit
Dim wz As Boolean ' 声明变量
Private Sub Form_Load()
Me.Height = Screen.Height / 2
Me.Width = Screen.Width / 2
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If wz Then
Move Screen.Width / 2, Screen.Height / 2 ', 2 * Inch, Inch
Else
Me.Move 0, 0
End If
wz = Not wz
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询