VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Win32学习笔记 第六章 程序6-3 Typer 说明

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

本文不过是对msdn的win32 SDK方面的部分整理,如有不妥和错误之处,望祈垂教![email protected];
对于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的作用我持怀疑态度,但愿你能告诉我!对于别的按键的处理我实在没有什么感想!

 

 




相关文章

相关软件