⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.frm

📁 程序实现的思路是在窗体的MouseDown事件(当鼠标在窗体上按下时发生)中获取鼠标相对于窗体的坐标
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   AutoRedraw      =   -1  'True
   BorderStyle     =   0  'None
   Caption         =   "Form1"
   ClientHeight    =   3195
   ClientLeft      =   0
   ClientTop       =   0
   ClientWidth     =   4680
   DrawMode        =   1  'Blackness
   DrawStyle       =   5  'Transparent
   LinkTopic       =   "Form1"
   ScaleHeight     =   3195
   ScaleWidth      =   4680
   ShowInTaskbar   =   0   'False
   StartUpPosition =   2  'CenterScreen
   Begin VB.CommandButton CmdExit 
      Caption         =   "退  出"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   3120
      TabIndex        =   8
      Top             =   2280
      Width           =   1095
   End
   Begin VB.Label Label4 
      Height          =   330
      Left            =   1350
      TabIndex        =   7
      Top             =   945
      Width           =   825
   End
   Begin VB.Label Label8 
      Height          =   330
      Left            =   1350
      TabIndex        =   6
      Top             =   1755
      Width           =   825
   End
   Begin VB.Label Label7 
      Height          =   330
      Left            =   1350
      TabIndex        =   5
      Top             =   1350
      Width           =   825
   End
   Begin VB.Label Label6 
      Caption         =   "Mouse Y Pos:"
      Height          =   330
      Left            =   225
      TabIndex        =   4
      Top             =   1755
      Width           =   1050
   End
   Begin VB.Label Label5 
      Caption         =   "Mouse X Pos:"
      Height          =   330
      Left            =   240
      TabIndex        =   3
      Top             =   1350
      Width           =   1050
   End
   Begin VB.Label Label3 
      Height          =   330
      Left            =   1350
      TabIndex        =   2
      Top             =   540
      Width           =   825
   End
   Begin VB.Label Label2 
      Caption         =   "Screen Y Pos:"
      Height          =   330
      Left            =   225
      TabIndex        =   1
      Top             =   945
      Width           =   1050
   End
   Begin VB.Label Label1 
      Caption         =   "Screen X Pos:"
      Height          =   360
      Left            =   225
      TabIndex        =   0
      Top             =   540
      Width           =   1080
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'---------------------------------------------
'           移动无标题栏窗体的例子
'---------------------------------------------
'             洪恩在线 求知无限
'---------------------------------------------
'程序说明:
'本例演示了怎样移动无标题栏的窗体的方法,程序中涉
'及到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
    
    '把新的窗体坐标显示出来,是相对于屏幕的坐标
    Label3.Caption = CurrX
    Label4.Caption = CurrY
    '把鼠标点击的位置显示出来,是相对与窗体的坐标
    Label7.Caption = MousX
    Label8.Caption = MousY
End Sub

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




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -