本站首页    管理页面    写新日志    退出

首页(46) 其它(20) VC++学习(17) 程序员(5) 音乐欣赏(3) 


Ashes to ashes Dust to dust
 
 ♀最新日志                                                        ♀最新回复                                  
[转]乐到我抽筋儿的几个极品笑话
PAYPAL的奇怪问题
第一次尝试
递归
明天交毕业设计中期报告了
等到googlepage了
GTalk和Gmail
修好了鼠标!
是不是中毒了?
有Windows Live Messen
回复:google打不开了
回复:《精通MFC》——第二章(III)
回复:《精通MFC》——第二章(III)
回复:《精通MFC》——第二章(III)
回复:理查得·克莱德曼 的经典钢琴曲
回复:理查得·克莱德曼 的经典钢琴曲
回复:理查得·克莱德曼 的经典钢琴曲
回复:修好了鼠标!
回复:理查得·克莱德曼 的经典钢琴曲
回复:理查得·克莱德曼 的经典钢琴曲
«September 2025»
123456
78910111213
14151617181920
21222324252627
282930
 
 

[VC++学习]《精通MFC》——第二章(v)
读书笔记

BOOL TranslateMessage(               CONST MSG *IpMsg   //消息循环        );          每当用户按下键时,系统产生两个虚拟键消息(WM_KEYDOWN和WM_KEYUP)。虚拟按键消息中包含了用户所按键的键代码,但没有包含键值。TranslateMessage将把虚拟键消息翻译为字符消息(WM_CHAR),并把该消息投递到消息队列中。          DispatchMessage将调用目标窗口(由MSG的hwnd成员所指)的窗口过程来处理消息。如果MSG的hwnd成员为NULL,DispatchMessage不会对该消息作任何处理;如果hwnd为HWND_TOPMOST,DispatchMessage向系统中所有顶层窗口发送该消息。          GetMessage的定义:        BOOL GetMessage(               LPMSG          lpMsg,                  //输出参数,容纳检索到的消息               HWND           hWnd,                   //窗口句柄               UINT             wMsgFilterMin,     //第一个消息               UINT             wMsgFiterMax      //最后一个消息        );        在上面的代码中,hWnd设定为NULL,这时将检索该线程的消息队列中的任何消息,包括窗口消息以及通过PostThreadMessage投送的线程消息。若hWnd设置为特定窗口,那么就仅会检索属于该窗口的消息。后两个参数则可限定待检索的消息的范围。无论如何规定这两个参数,GetMessage总会检索WM_QUIT消息。GetMessage不会从消息队列中移出WM_PAINT消息,直到该消息被处理为止。          PeekMessage的定义:        BOOL GetMessage(               LPMSG          lpMsg,                  //消息               HWND           hWnd,                   //窗口句柄               UINT             wMsgFilterMin,     //第一个消息               UINT             wMsgFiterMax      //最后一个消息               UINT             wRemoveMsg        //是否移出        );        如果将wRemoveMsg设为PM_NOREMOVE,则在读出消息后不会从消息队列中移出该消息;如为PM_REMOVE,则读出消息后还会从消息队列中移出该消息。               PeekMessage与GetMessage的重要出别:GetMessage只有等到消息队列中有满足过滤条件的消息时才会返回;而PeekMessage则总是会立即返回而不管是否有满足过滤条件的消息。     1         窗口过程        窗口过程的作用就是处理窗口消息。        窗口过程的名字是任意的,但其签名时固定的:        LRESULT CALLBACK [窗口过程名](HWND hWnd, UINT message, WPARAM wParam,  LPARAM lParam)        窗口过程的返回类型为LRESULT,调用转化方式为CALLBACK。在SDK头文件中CALLBACK被定义为_stdcall型,参数从右到左压栈,被调用的函数负责清理堆栈。窗口过程有四个参数,第一个参数为处理该消息的窗口的句柄,第二个参数为消息标志符,第三和第四个参数为处理该消息的数据。实例中的窗口过程的主体是一个switch语句,它根据消息标志符解释传来的数据,并进行特定的处理。          2.5  窗口应用框架        窗口应用框架包括:创建主窗口的代码、一个消息循环。而为了创建窗口又要准备相应的窗口结构。        下面一段代码是窗口应用的主函数:               演示代码:               P58               _tWinMain是每个窗口应用的入口。它主要完成准备窗口结构、创建主窗口、消息循环等。        准备窗口结构任务在MyRegisterClass中完成:               演示代码:               P59        MyRegisterClass的主体是设定WNDCLASSEX类型的wcex的各个成员,最后调用RegisterClassEx注册该结构的实例。          在InitInstance中完成创建主窗口的任务:               演示代码:               P60

 

00oo.. 发表于 2005/11/7 21:38:15

阅读全文(3693) | 回复(0) | 编辑 | 精华



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)
 
♀链接


AoGo汇编小站: http://www.aogosoft.com/

CSDN:        http://www.csdn.net/

编程爱好者:   http://www.programfan.com/

阿蒙编程之家: http://www.vchome.net/

看雪学院:     http://www.pediy.com

VC开发指南:http://www.copathway.com

 

♀留言板                                                             ♀Blog信息

签写新留言

人生需要加油!
MSN LIVE messager邀请
我加你了google talk
blog名称:00oo..
日志总数:46
评论数量:228
留言数量:2
访问次数:392160
建立时间:2004年11月6日
用户名称:
登陆密码:
密码保存:



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144784532 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号