• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

vb基础

发布: 2007-7-01 21:48 | 作者: admin | 来源: | 查看: 24次 | 进入软件测试论坛讨论

领测软件测试网

´´程序说明:
´本例演示了怎样移动无标题栏的窗体的方法,程序中涉
´及到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

 


延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网