VB 窗体的任何部分皆可拖动窗体

来源:互联网 发布:mac装双系统分区 编辑:程序博客网 时间:2024/06/10 10:28
  1. '按窗体的任何部份皆可拖动窗体,假定窗体名为Form1
  2. '声明部份
  3. Declare Function ReleaseCapture Lib "user32" ()  As Long 
  4. Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long,  ByVal wMsg As Long,  ByVal wParam As Long,  lParam As Any)  As Long 
  5. Public Const WM_SYSCOMMAND = 
  6. Public Const SC_MOVE = 
  7. '窗体的代码
  8. Private Sub Form_MouseDown(Button As Integer,  Shift As Integer,  X As Single,  Y As Single)
  9.     ReleaseCapture
  10.     SendMessage Form1.hwnd,  WM_SYSCOMMAND,  SC_MOVE,  0
  11. End Sub 
  12. 如果包含一个可以接受MOUSEDOWN事件的控件,如Label1,下面代码也可拖动窗体
  13. Private Sub Label1_MouseDown(Button As Integer,  Shift As Integer,  X As Single,  Y As Single)
  14.     ReleaseCapture
  15.     SendMessage Form1.hwnd,  WM_SYSCOMMAND,  SC_MOVE,  0
  16. End Sub