vb基础 (转)

vb基础 (转)[@more@]

''程序说明:
'本例演示了怎样移动无标题栏的窗体的方法,程序中涉
'及到MouseDown、MouseMove、MouseUp三个鼠标事件的
'使用,我们可以从中学习到它们的用法。
'---------------------------------------------
Option Explicit
'变量声明
'MoveScreen,布尔型变量,标示窗体是否处于被移动状态
Dim MoveScreen As Boolean

'鼠标位置
Dim MousX As Integer
Dim MousY As Integer
'窗体位置
Dim CurrX As Integer
Dim CurrY As Integer

'“退出”按钮
Private Sub CmdExit_Click()
  End
End Sub

'当鼠标在窗体上按下时
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'---------------------------------------------
'参数说明:
'---------------------------------------------
'button  返回一个整数,用来标识按下或释放的是哪一
'个按钮。button 参数的值为相应于左按钮(1)右按钮
'(2),以及中间按钮(4)。
'---------------------------------------------
'shift  返回一个整数,在鼠标按钮被按下或者被释放
'的同时,SHIFT,CTRL,和 ALT 键的状态,返回的shift
'参数值分别为1,2,和 4。指示这些键的状态。
'---------------------------------------------
'x, y  返回一个指定鼠标指针当前位置的数。
'---------------------------------------------
  '如果是鼠标左键按下
  If Button = 1 Then
  '标示为移动状态
  MoveScreen = True
  '得到鼠标在窗体上的位置(相对与窗体内部坐标)
  MousX = X
  MousY = Y
  End If
End Sub

'当鼠标在窗体上移过时
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
 
  '如果处于鼠标左键按下的状态,即MoveScreen = True时
  If MoveScreen Then
  '计算新的窗体坐标值
  '仔细想一下,看看是不是这样
  CurrX = Form1.Left - MousX + X
  CurrY = Form1.Top - MousY + Y
  '移动窗体到新的位置
  Form1.Move CurrX, CurrY
  End If
 
  '把新的窗体坐标显示出来,是相对于屏幕的坐标
  Label1.Caption = CurrX
  Label2.Caption = CurrY
  '把鼠标点击的位置显示出来,是相对与窗体的坐标
  Label3.Caption = MousX
  Label4.Caption = MousY
End Sub

'如果鼠标松开,则停止拖动
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  MoveScreen = False
End Sub

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-960617/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-960617/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值