首页 > 代码库 > 结合windows消息系统理解C#中WndProc函数和DefWndProc函数
结合windows消息系统理解C#中WndProc函数和DefWndProc函数
Windows消息系统由3部分组成:
1.消息队列。Windows应用程序的消息是由Windows统一在一个消息队列中管理的。
2.消息循环。应用程序从Windows消息队列中获得自己的消息,并将其分配给窗体函数进行处理。
3.窗口过程。负责处理接收到的消息,每个窗口都有对应的窗口过程,负责截获消息并响应。WndProc是窗口过程函数,负责处理接收到的消息,在我们写代码时,不会注意到有这个函数,这是因为开发环境自动为我们生成了。WndProc函数通过switch...case...判断并处理消息,对于在case中没有遇到的情况,会调用DefWndProc函数进行处理,所以,在C#中用户自定义消息,可以重载DefWndProc函数使用switch...case...判断并处理。
C#中的事件就是对Windows消息的封装,窗口过程中定义了窗体的事件,一定程度就是为了让程序员避免过多的考虑消息等底层的东西,所以能避免消息机制解决的问题最好能避免。
(以上仅为个人的认识,转载请注明原址)
转自http://blog.sina.com.cn/s/blog_65d1293a0101n9qz.html
结合windows消息系统理解C#中WndProc函数和DefWndProc函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。