请问VB的事件触发,消息循环,消息处理结构是怎样的?与WINDOWS SDK的事件触发,消息循环,消息处理结构的对应关系又是怎样的?
如果对于某一控件的事件,我们自己没有编写它的处理过程,则请问这个事件还触发消息到消息循环中吗?如果触发了消息,那么系统通过调用什么过程来处理它?在SDK中,是DefWindowProc来处理的
如果对于某一控件的事件,我们自己没有编写它的处理过程,则请问这个事件还触发消息到消息循环中吗?如果触发了消息,那么系统通过调用什么过程来处理它?在SDK中,是DefWindowProc来处理的
解决方案 »
- VB Data Access 报 类未注册的问题!
- VB调用DLL文件提示文件不存在,实时错误53
- 求救:关于自定义控件.ocx
- 用vb控制发送邮件问题/。
- *****************要找新工作了,大家看看我值多少钱***************
- 用ADO调用access文件时的问题,请解答
- 请问一下,我用datagrid控件,我想定义columns的caption,可是属性里的columns属性里为什么只有两个(columns1,column2),怎么再添加其
- 关于VB打包器打包的问题?
- 关于DataGrid和RecordSet绑定的问题
- 有没有这样的函数?
- ado+access+datagrid如何在按钮实现上一条和下一条?
- VB的工作不好找呀?
==============================
好像不是所有,vb只转换了部分常用的消息,其他大部分的都没有做转换。。所以我们才要用子类去尝试捕捉那些vb没有做转换的消息
lpprevwndproc =getwindowlong(hwnd,gwl_wndproc) 'hwnd爲需要處理的窗體或控件的句柄
setwindowlong hwnd,gwl_wndproc,addressof wndproc ' hwnd 同上' 模塊中
public lpPrevWndProc as longpublic function WndProc(byval hWnd as long,byval uMsg as long,byval wParam as long,byval lParam as long) as long
select case umsg
case '這裏寫需要處理的消息常量。
case else
wndproc=callwindowproc(lpPrevWndProc,hwnd,umsg,wparam,lparam)
end select
end function
wndproc=callwindowproc(lpPrevWndProc,hwnd,umsg,wparam,lparam)