欢迎来到天天文库
浏览记录
ID:30436762
大小:85.72 KB
页数:10页
时间:2018-12-29
《深入剖析mfc中windows消息处理机制》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、深入剖析MFC中Windows消息处理机制本人对Windows系统、MFC谈不上有深入的了解,但对MFC本身包装API的机制很有兴趣,特别是读了候老师的《深入浅出MFC》后,感觉到VisualC++的ApplicationFrameWork十分精制。在以前,我对SDI结构处理消息有一定的认识,但对于模式对话框的消息机制不了解,读了《深入》一书也没能得到解决,近日,通过在网友的帮助和查阅MSDN,自认为已经了解。一时兴起,写下这些文字,没有其它目的,只是希望让后来者少走弯路,也希望和我一样喜欢"钻牛角尖"的人共同讨论、学习
2、。如果你是牛人,那么你现在要慎重考虑有没有充足的时间读这些幼稚文字。正文:Windows程序和DOS程序的主要不同点之一是:Windows程序是以事件为驱动、消息机制为基础。如何理解?举了例子,当你CLICK深入剖析MFC中Windows消息处理机制本人对Windows系统、MFC谈不上有深入的了解,但对MFC本身包装API的机制很有兴趣,特别是读了候老师的《深入浅出MFC》后,感觉到VisualC++的ApplicationFrameWork十分精制。在以前,我对SDI结构处理消息有一定的认识,但对于模式对话框的消息机
3、制不了解,读了《深入》一书也没能得到解决,近日,通过在网友的帮助和查阅MSDN,自认为已经了解。一时兴起,写下这些文字,没有其它目的,只是希望让后来者少走弯路,也希望和我一样喜欢"钻牛角尖"的人共同讨论、学习。如果你是牛人,那么你现在要慎重考虑有没有充足的时间读这些幼稚文字。正文:Windows程序和DOS程序的主要不同点之一是:Windows程序是以事件为驱动、消息机制为基础。如何理解?举了例子,当你CLICK深入剖析MFC中Windows消息处理机制本人对Windows系统、MFC谈不上有深入的了解,但对MFC本身包
4、装API的机制很有兴趣,特别是读了候老师的《深入浅出MFC》后,感觉到VisualC++的ApplicationFrameWork十分精制。在以前,我对SDI结构处理消息有一定的认识,但对于模式对话框的消息机制不了解,读了《深入》一书也没能得到解决,近日,通过在网友的帮助和查阅MSDN,自认为已经了解。一时兴起,写下这些文字,没有其它目的,只是希望让后来者少走弯路,也希望和我一样喜欢"钻牛角尖"的人共同讨论、学习。如果你是牛人,那么你现在要慎重考虑有没有充足的时间读这些幼稚文字。正文:Windows程序和DOS程序的主要
5、不同点之一是:Windows程序是以事件为驱动、消息机制为基础。如何理解?举了例子,当你CLICK深入剖析MFC中Windows消息处理机制本人对Windows系统、MFC谈不上有深入的了解,但对MFC本身包装API的机制很有兴趣,特别是读了候老师的《深入浅出MFC》后,感觉到VisualC++的ApplicationFrameWork十分精制。在以前,我对SDI结构处理消息有一定的认识,但对于模式对话框的消息机制不了解,读了《深入》一书也没能得到解决,近日,通过在网友的帮助和查阅MSDN,自认为已经了解。一时兴起,写下
6、这些文字,没有其它目的,只是希望让后来者少走弯路,也希望和我一样喜欢"钻牛角尖"的人共同讨论、学习。如果你是牛人,那么你现在要慎重考虑有没有充足的时间读这些幼稚文字。正文:Windows程序和DOS程序的主要不同点之一是:Windows程序是以事件为驱动、消息机制为基础。如何理解?举了例子,当你CLICKWindows"开始"BUTTON时,为什么就会弹出一个菜单呢?当你单击鼠标左键时,操作系统中与MOUSE相关的驱动程序在第一时间内得到这个信号[LBUTTONDOWN],然后它通知操作系统―――"嗨,鼠标左键被单击了!
7、",操作系统得到这一信号后,马上要判断――用户单击鼠标左键,这是针对哪个窗口呢?如何判断?这很简单!当前状态中,具有焦点的窗口[或控件]就是了[这里当然是"开始"BUTTON了]。然后操作系统马上向这个窗口发送一条消息到这个窗口所在进程的消息队列,消息内容应是消息本身的代号、附加参数、窗口句柄…等等了。那么,只有操作系统才有资格发送消息至某一窗口的消息队列吗?不然,其它程序也有资格。你可以在你的程序中调用:SendMessage、PostMessage。这样,被单击的窗口得到了一条由操作系统发送的包含CLICK的消息,操
8、作系统已经暂时不再管窗口的任何事,因为它还要忙于处理其它事务。你的程序得到一条消息后如何做呢?Windows对于你在"开始"BUTTON上的单击事件做出如下反映:弹出一菜单。可是,得到消息到做出反映这一过程是如何实现的呢?这就是本文讨论的主要内容[当然只是针对MFC了]。我首先简要谈一下SDI,然后会花更多文字描述模
此文档下载收益归作者所有