Win32学习笔记 第六章 程序6-3 Typer 说明

王朝vc·作者佚名  2006-01-08
宽屏版  字体: |||超大  

本文不过是对msdn的win32 SDK方面的部分整理,如有不妥和错误之处,望祈垂教!stdHans@msn.com;

对于typer程序在窗口未产生之前:

按msdn的说法,只要窗口未被最小化,DefWindowProc将为窗口设置焦点,如果你没有处理过WM_ACTIVATE,WM_ACTIVATE是如何产生的呢?我猜想只要窗口被激活或者在诞生之前,OS将把此讯息放入讯息队列,如果你没有处理,则DefWindowProc在处理WM_ACTIVATE时用SetFocus函数设置焦点,这个函数将产生两个讯息,你大概猜到了,是WM_SETFOCUS和WM_KILLFOCUS。我总结一下,在程序执行时那个闪烁的光标是如何来的呢?窗口诞生之前,OS看见她将出生,将WM_ACTIVATE放入讯息队列,如果你不揽下这“活”,亲爱的DefWindowProc会处理它,怎么处理,他用SetFocus函数,此函数并不是省油的灯,它又生产了两个讯息WM_SETFOCUS和WM_KILLFOCUS,剩下的活交给你,你生产了一Caret在WM_SETFOCUS中,打个比方,如果你是Caret的妈,则DefWindowProc是Caret的亲爸。

在窗口诞生之后:

假如你按下a键,键盘会产生WM_KEYDOWN讯息而OS在处理此讯息时将把WM_KEYDOWN翻译成WM_CHAR,也就是说你按下a键时产生了两个讯息:WM_KEYDOWN和WM_CHAR,而在WM_CHAR中对a进行了处理,如何处理我相信你比我能看得透澈!对于WM_PAINT的作用我持怀疑态度,但愿你能告诉我!对于别的按键的处理我实在没有什么感想!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有