随笔分类 - 二阶段
day11 – 其他UI
摘要:1.1建立一个MFC对话框应用程序,在对话框中拖入Tab Control控件,效果如下: 1.2在对话框类中,声明一个CTabCtrl变量: CTabCtrl m_tab; 变量m_tab用来与对话框中的Tab Control控件交互,为此要在DoDataExchange函数中加入DDX_Contr
阅读全文
day10 – 视图分割
摘要:视图分割 动态分割 – 2×2 视图一样 静态分割 视图操作:GetXXCtrl转对应的控件类 视图之间的通信: 方法一: 某个view修改了doc中的数据,通过调用 GetDocument()->UpdateAllViews(NULL);通知其他view数据被修改 其他view重写onUpdate
阅读全文
day9 – CAD 序列化
摘要:一、实现步骤: 要实现一个能够序列化的类,必须要经过一下几步 1.这个类必须间接火直接地由CObject派生而来 2.定义一个不带参数的构造函数 3.在头文件中,必须有如下声明: DECLARE_SERIAL( Your name of class) 4.在源文件中开头有如下声明 IMPLEMENT
阅读全文
day8 – CAD 撤销重做
摘要:class IOpt { public: virtual void Undo() = 0; //撤销 virtual void Redo() = 0; //重做 } class CDelOpt:public IOpt { public: void Undo(); //撤销, 把图形重新放回链表 vo
阅读全文
day7 – CAD 操作
摘要:旋转 // common.h : // ///////////////////////////////////////////////////////////////////////////// #if !defined(AFX_ROTATE_H__73DFDF03_3596_48CE_851E_4
阅读全文
day6 – 补课
摘要:在VS2008SP1以后的版本都可以快速的建立一个类似资源管理器的工程,或者也可以利用BCG第三库,下面以VS2008SP1版本为例说明构建资源管理器的步骤。 第一步:建立一个“基于对话框”的工程,窗体上放置一个Tree和List控件 第二步:分别为他们添加变量,然后修改声明变量那里为 CMFCSh
阅读全文
day5 – CAD2 CAD 类工厂
摘要:工厂方法模式 定义 厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的
阅读全文
day4 – CAD1 双缓冲绘图
摘要:文档的使用, GDI(graphics device interface), 对话框的使用 2.双缓冲 1) 什么时候绘制 WM_PAINT WM_PAINT –> OnPaint –> OnDraw 2) 在哪里绘制 DC BeginPaint/EndPaint CPaintDC 绘制区域不超过无
阅读全文
day3 – 子类化和控件的使用
摘要:按钮控件 按钮控件包括命令按钮(Button)、单选按钮(Radio Button)和复选框(Check Box)等。 按钮控件会向父窗口发送通知消息,最常用的通知消息莫过于BN_CLICKED和BN_DOUBLECLICKED了。用户在按钮上单击鼠标时会向父窗口发送BN_CLICKED消息,双击鼠
阅读全文
day2 – 最小MFC和消息响应
摘要:可以双击button写代码,除了按钮其他的右击 删掉双击出不来 子类化:扩展控件的功能 重写控件的过程函数实现自己的功能,核心函数 SetWindowLong MFC中子类化 创建新的类,继承MFC对应的控件类 在新的类中实现所需要的逻辑代码 为对应的控件创建对应的MFC控件类的变量,将变量类型改成
阅读全文
day7 – 补课
摘要:窗口的创建 说明 备注 RegisterClass 注册窗口类 WNDCLASS CreateWindow 创建窗口实例 GetMessage 从消息队列获取消息,并出队 ShowWindow 显示窗口 UpdateWindow 更新窗口,调用过程函数并发送WM_PAINT消息,如果没有无效区,则不
阅读全文
day5 – 对话框的创建和控件的基本使用
摘要:对话框 1) 模态对话框 创建的步骤: 编辑对话框资源模板 创建对话框 实现对话框过程函数 模态对话框会阻塞父窗口的原因: 模态对话框内部自建消息循环 模态对话框调用Enablewindow禁用了父窗口的鼠标和键盘输入 一、概述 对话框是一种特殊的窗口,它依据对话框模板资源而建立。 它与一般的窗口有
阅读全文
day4 – 资源的使用
摘要:带资源的编译连接过程: cl /c FirstWindow.cpp rc FirstWindow.rc link /subsystem:windows FirstWindow.res user32.lib firstwindow.obj 菜单 WM_COMMAND – 命令消息 图标 光标 快捷键
阅读全文
day3 – 绘图消息和键盘消息
摘要:界面分为**客户区(client area)**和 非客户区(non client area) 在一个MDI(多文档)应用程序中每个概念如下图所标示: 效果如下图 窗口框架的客户区就是指图中的灰色部分:即蓝色方框内区域,框架的非客户区就是指蓝色方框之外的窗口区域,包括程序图标,标题栏,菜单,最大最小
阅读全文
day2 – 窗口的创建
摘要:创建窗口的六要素 设计注册窗口类 创建窗口 显示窗口 更新窗口 建立消息循环 实现窗口过程函数(窗口回调函数、消息处理函数) @err,hr 获取错误信息 (unsigned long)(tib+0x34),hr 获取错误信息(vc6) 定义winMain函数 我们在新添加的空的cpp文件中,添加如
阅读全文
day1 - SDK入门
摘要:SDK:Software Development Kit 软件开发工具包(套件) API:Application Programming Interface 应用程序接口(操作系统提供的一组功能性函数) 内核对象 :Kernel object 内核对象是系统提供的用户模式下代码与内核模式下代码进行交
阅读全文