01 2011 档案

MFC窗口子类化
摘要:所谓子类化,也就是因为某种需求,对一个windows窗口(当然这里的窗口可以是控件、Dialog等)用自己的窗口函数,代替原有的窗口函数)再看看别人的解释:所谓窗口子类化,实际上就是改变窗口内存块中的有关参数。由于这种修改只涉及到一个窗口的内存块,因此它不会影响到属于同一窗口类的其它窗口的功能和表现(IDàHWNDàCWnd)。窗口子类化中最常见的是修改窗口内存块中的窗口函数地址(lpfnWndProc),使其指向一个新的窗口函数,从而改变原窗口函数的处理方法,做出特定功能适应。在实际开发中,有些情况标准控件的标准过程是无能为力的。比如:在我们的应用中要求一个EDIT控件接收老师对学生的评价, 阅读全文

posted @ 2011-01-22 15:52 pjh123 阅读(743) 评论(0) 推荐(1)

MFC消息机制 3 (对1、2的合并)
摘要:1消息的分类1.1队列消息、非队列消息l队列消息:windows为每个应用程序都建立一个消息队列,那么通过消息队列,进行传送的消息都属于队列消息;一般来说,由鼠标、键盘产生的消息都属于队列消息。(为什么呢?想想,鼠标、键盘事件都是由系统捕获的,系统捕获后要传递给应用程序,就一定的通过消息队列);l非队列消息:除了队列消息,剩下的自然而然就是非队列消息了;u队列消息是通过PostMessage()的方式投递消息的,这样的消息发送也叫“寄送”,该函数寄送消息即可返回,不需要等待程序处理结果;u非队列消息是通过SendMessage()的方式进行的,这样的消息发送叫“发送”;消息不需要进入窗口的消息 阅读全文

posted @ 2011-01-19 16:15 pjh123 阅读(643) 评论(0) 推荐(0)

MFC消息机制 2
摘要:接上篇1、 消息的处理流程好了,有了前面1、2小节的基础,我们接下来来看消息的处理流程:以下描述消息从AfxWndProc起点开始的处理流程:1) AfxWndProc(HWND hWnd,Unit nMsg,….)说明,这里的hWnd指定了到底从哪个窗口开始接收并处理消息;在AfxWndProc中,调用了AfxCallWndProc函数,pWnd已经不是句柄了,而是由句柄得到的一个具体的CWnd指针指向的窗口类CWnd* pWnd=CWnd::FormatHandlePermant(hWnd)2) AfxCallWndProc(CWnd *pWnd,Unit nMsg,…..)说明:,在Af 阅读全文

posted @ 2011-01-12 23:50 pjh123 阅读(599) 评论(0) 推荐(0)

MFC消息机制
摘要:一、消息的分类1、 队列消息、非队列消息l 队列消息:windows为每个应用程序都建立一个消息队列,那么通过消息队列,进行传送的消息都属于队列消息;一般来说,由鼠标、键盘产生的消息都属于队列消息。(为什么呢?想想,鼠标、键盘事件都是由系统捕获的,系统捕获后要传递给应用程序,就一定的通过消息队列);l 非队列消息:除了队列消息,剩下的自然而然就是非队列消息了;u 队列消息是通过PostMessage()的方式投递消息的,这样的消息发送也叫“寄送”,该函数寄送消息即可返回,不需要等待程序处理结果;u 非队列消息是通过SendMessage()的方式进行的,这样的消息发送叫“发送”;消息不需要进入 阅读全文

posted @ 2011-01-11 23:14 pjh123 阅读(566) 评论(0) 推荐(0)