上一页 1 ··· 55 56 57 58 59 60 61 62 63 ··· 75 下一页
摘要: 关于对话框的讨论,[2,3]中校为丰富。 DDX,是把对话框类别中的成员变量与对话框中的控制组件产生关联,于是 当对话框结束时,控制组件的内容会自动传输到这些成员变量上。 DDV,是允许我们设定对话框控制组件的内容类型以及资料(数值)范围。 参考 [1] 深入浅出MFC [2] http://blog.163.com/zhoumhan_0351/blog/static/3995422720104... 阅读全文
posted @ 2011-02-28 17:32 浪里飞 阅读(264) 评论(0) 推荐(0) 编辑
摘要: Message Mapping and Command Routing1、MFC把消息三大类:1)命令消息(WM_COMMAND):凡由UI 对象产生的消息都是这种命令消息,可能来自菜单或加速键或工具栏。SDK程序主要靠消息的wParam 辨识之,MFC程序则主要靠菜单项目的识别码(menu ID)辨识之,两者其实是相同的。 凡衍生自CCmdTarget 的类别,皆有资格接收改类型消息。几乎构造应用程序的最重要的几个类别都衍生自CCmdTarget。2)标准消息:除WM_COMMAND 之外,任何以WM_ 开头的都算是这一类。任何衍生自CWnd 之类别,均可接收此消息。3)Control No 阅读全文
posted @ 2011-02-28 13:01 浪里飞 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 1、型录网就是CRuntimeClass组成的一个链表。应用程序使用DECLARE_SERIAL,IMPLEMENT_SERIAL两个宏,就获得文件读写以及动态创建两种机制。2、Serializable的必要条件 欲让一个对象有Serialize能力,它必须派生自一个Serializable类,一个类意欲成为Serializable,必须有下列五大条件: 1)从CObject派生下来,如此以来可保有RTTI、Dynamic Creation等机能。 2)类的声明部分必须有DECLARE_SERIAL宏。此宏需要一个参数:类名称。 3)类的实现部分必须有IMPLEMENT_SERIAL宏。此宏需 阅读全文
posted @ 2011-02-27 15:35 浪里飞 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 1、由于CDocument派生自CObject,所以它就有了CObject所支持的性质,如RTTI,动态创建,文件读写(Serialization)。又由于它也派生自CCmdTarget,所以它可以接收来自菜单或工具栏的WM_COMMAND消息。[1,P341]2、Document/View/Frame的产生对于单文档,派生类型的变量为:CDocument* m_pOnlyDoc;如果是多文档,则为:CPtrList m_docList;3、CDocTemplate,CDocument,CView,CFrameWnd之间的关系可以看到,是CWinApp来管理Document Template。 阅读全文
posted @ 2011-02-27 14:55 浪里飞 阅读(2363) 评论(0) 推荐(0) 编辑
摘要: 1、Document/View是MFC进化为Application Framework的灵魂。在MFC中,可以把Document简单想像成数据,MFC的CDocument已经负责处理数据的类。同时,CDocument搭配了另一个重要的类CView。CView为了数据的表现(显示)而设计的。就是如何将你处理的结果显示出来(输出到屏幕或者打印机)。除了负责显示外,View还负责程序与使用者之间的交谈接口。使用者对数据的编辑、修改都需要仰赖窗口上的鼠标与键盘操作才得以完成,这些消息都将由View接受后通知Document。Document/View的价值在于,这些MFC类已经把一个应用程序所需的“数 阅读全文
posted @ 2011-02-26 22:59 浪里飞 阅读(952) 评论(0) 推荐(0) 编辑
摘要: 1、需要的函数库Windows C Runtime函数库DLL Import函数库MFC 函数库[1,P264]2、传统SDK程序中WinMain所完成的工作现在由CWinApp的三个函数完成:virtual BOOL InitApplication();//内部管理初始化工作virtual BOOL InitInstance();//创建窗口virtual int Run();//分发消息WinMain只是扮演驾驭它们的角色。CFrameWnd取代WndProc的地位。一般CMyWinApp要改写CWinApp中的InitInstance,而不改写InitApplication和Run。3、 阅读全文
posted @ 2011-02-26 16:12 浪里飞 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 1、Application Framework是一个完整的程序模型;是一组合作无间的对象,彼此藉消息的流动而沟通,并且互相调用对方的函数以求完成任务。 2、“整厂整线”最重要最有价值的是各单元之间的流程与控制。 3、所谓collection,意指用来管理一群对象或标准类型的数据,这些类像是Array,List,Map等。这些类都支持Serialization,一整个数组或链表或表格可以用单一一行... 阅读全文
posted @ 2011-02-26 11:36 浪里飞 阅读(796) 评论(0) 推荐(1) 编辑
摘要: ATL(ActiveX Template Library),关于ActiveX控件的开发设计,可参考ActiveX Control Inside Out。 LIB <DIR> MFC的静态函数库 1、开发流程图示 Resource Editor 做出的各种资源与程序代码间通过ClassWizard来搭桥连接。ClassWizard主要工作是:改写代码实现自己的要求(加成员变量或改写虚函数);搭消... 阅读全文
posted @ 2011-02-26 10:27 浪里飞 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 书中讲这了RTTI,Dynamic Creation,Persistance,Message Mapping,Message Routing等的实现。[1] 尤其是其中的类别型录网的建立过程值得学习。 1、MFC对于消息循环的规定: (1) 如果是普通的Windows消息,则一定由派生类流向基类,不会有迂回。 (2) 如果是命令消息(WM_COMMAND),则路径十分复杂,下面总结命令消息的传递... 阅读全文
posted @ 2011-02-25 22:26 浪里飞 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 一、一些基本概念1、this指针Class Crect{public:void setcolor(int color){m_color=color;}} ;编译后为:Class Crect{public:void setcolor(int color,(Crect*)this){this.m_color=color;}}2、如果基类和派生类都定义了“相同名称之成员函数”,那么通过对象指针调用成员函数时,到底调用哪一个函数,必须视指针的原始类型而定。而不是视指针实际所指的对象的类型所定。(没有定义虚函数)3、MFC有两个重要的虚函数:与document相关的Serialize函数和与view相关 阅读全文
posted @ 2011-02-25 20:15 浪里飞 阅读(880) 评论(0) 推荐(0) 编辑
上一页 1 ··· 55 56 57 58 59 60 61 62 63 ··· 75 下一页