还等什么,让我们现在开始。
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下编译运行通过