给VB窗体添加OnMove事件

原创 2007年09月15日 14:33:00

模板内容

 

Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const GWL_WNDPROC = (-4)
Public Const WM_MOVE = &H3
Public Type POINTAPI
        x 
As Long
        y 
As Long
End Type
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long


Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As LongAs Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As LongAs Long


Public Oldproc As Long
Public BnHwnd As Long
Public Function Newproc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wp As Long, ByVal lp As LongAs Long
If Msg = WM_MOVE Then '捕获窗体移动事件
'
MsgBox "A"
'
SendMessage BnHwnd, WM_LBUTTONDOWN, 1, 0
'
SendMessage BnHwnd, WM_LBUTTONUP, 1, 0 '将消息发送到按纽,使其发生CLICK事件
    Form1.OnMove
End If
Newproc 
= CallWindowProc(Oldproc, hwnd, Msg, wp, lp)
End Function

 

给窗体定义一个OnMove函数:

 

Public Sub OnMove()
    
Dim point As POINTAPI
    GetCursorPos point
    Label2.Caption 
= "X:" & point.x & " Y:" & point.y
End Sub

 

在窗体的Form_Load事件加入如下代码:

 

Private Sub Form_Load()
Oldproc 
= SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf Newproc)
End Sub

VB 卸载窗体时触发的Unload事件

  • 2010年06月07日 10:30
  • 36KB
  • 下载

由VB6.0的load窗体事件——看顺便学习法

由VB6.0的load窗体事件——看“顺便学习法”           前几天米老师检查我做的学习笔记,指出了我学习中的一些毛病,特写此文做一下总结。           事件:我做的笔记,各...

VB 加载窗体时触发的Load事件

  • 2010年06月07日 09:45
  • 36KB
  • 下载

VB学习第三周--窗体事件

窗体事件: 1.装载窗体 2.单击窗体 3.双击窗体 4.改变了窗体大小 Public Class Form1 Private Sub Form1_Click(ByVal se...

WinForm之通过事件传值来完成添加修改窗体赋值

废话不多说,直接上实例,对学生表进行事件传值来完成对添加修改窗体的赋值。 (1)创建Student类 using System; using System.Collections.Generic;...

GUI_窗体添加按钮并对按钮添加事件案例、布局

package cn.itcast_05; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; im...

VB 给窗体添加滚动条

  • 2010年06月07日 13:14
  • 156KB
  • 下载

窗体传值 委托与事件的比较

  • 2014年09月22日 21:17
  • 36KB
  • 下载

vb.net 教程 3-7 窗体编程 菜单和工具栏 3 StatusStrip 2

通过上一节的学习,大家对StatusStrip控件有了初步了解, 本节主要讲解如何通过代码操作StatusStrip,在上一节窗体基础上增加两个按钮: 按下“修改状态栏标签”按钮 '修改状态...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:给VB窗体添加OnMove事件
举报原因:
原因补充:

(最多只允许输入30个字)