手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

让窗体的标题栏不相应鼠标双击

来源:互联网 作者:西部数码 时间:2008-04-10
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

还等什么,让我们现在开始。

1。新建一个VB6的标准EXE工程,然后添加一个模块,将下列代码加入新的模块中:

Option Explicit

Private Declare Function SetWindowLong Lib "user32" Alias _
"SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex _
As Long, ByVal dwNewLong As Long) As Long

Private 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 Long) As Long

Const GWL_WNDPROC = (-4&)

Dim PrevWndProc&

Const WM_NCLBUTTONDBLCLK = &HA3

Public Sub Init(hWnd As Long)
PrevWndProc = SetWindowLong(hWnd, GWL_WNDPROC, AddressOf SubWndProc)
End Sub

Public Sub Terminate(hWnd As Long)
Call SetWindowLong(hWnd, GWL_WNDPROC, PrevWndProc)
End Sub

Private Function SubWndProc(ByVal hWnd As Long, ByVal Msg As Long, _
ByVal wParam As Long, ByVal lParam As Long) _
As Long

If Msg = WM_NCLBUTTONDBLCLK Then
Exit Function
End If

SubWndProc = CallWindowProc(PrevWndProc, hWnd, Msg, wParam, lParam)
End Function

2。在窗体的Load事件中加入一下代码:

Private Sub Form_Load()
Call Init(Me.hWnd)
End Sub

3。最后在窗体的Unload事件中加入:

Private Sub Form_Unload(Cancel As Integer)
Call Terminate(Me.hWnd)
End Sub

好啦,可以运行我们创建的这个工程了,现在双击窗体的标题栏是不是和以前不一样啊!

:)

以上程序在Win2000中文版、VB6下编译运行通过

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!