- 博客(19)
- 收藏
- 关注
原创 [MFC]文档/视图结构的命令传送和预定义命令ID(包括命令处理程序)
1. 命令与命令分散处理: 1) 命令在MFC中就是指各种基于WM_COMMAND消息(也包括UPDATE_COMMAND_UI等); 2) 可以触发命令消息的元素有很多,并且可以分布在不同类中(不同地点,不同组件),例如菜单项、工具栏按钮等; 3) 虽然命令触发的元素分散在各个地方,但是Windows只允许主框架(CFrameWnd)来接受命令,这就意味着貌似只有主
2015-09-23 15:58:50 1268
原创 [MFC]文档字符串、HKEY_CLASSES_ROOT注册表、.reg注册表文件
1. 文档字符串的定义: 1) 也是LoadFrame可以加载的第四种资源(图标、菜单、加速键之外的第四种资源); 2) 定义方式例如:STRINGTABLE PRELOAD DISCARDABLE BEGIN IDR_MAINFRAME "SdiSquares\n\nSdiSqu\nSdiSqu Files (*.sqr)\n.sqr\nSd
2015-09-23 11:25:39 2596
原创 [MFC]CView视图类、CMainFrame主框架类
1. 视图对象简介以及视图对象何如使用文档来操作数据: 1) 视图的两个重要用途: i. 鉴于文档的唯一任务就是管理应用程序的数据,那么视图的一个重要用途就是提供文档的可视化表示; ii. 其次就是将用户输入(鼠标、键盘)转换为操作文档数据的命令,这样文档和视图就紧密联系在一起了,实现了信息的双向传递; 2) 一个文档可以具有与之联系的多
2015-09-22 20:09:53 3926
原创 [MFC]CDocument文档类简介
1. 文档的基本功能: 1) 文档就是程序数据的一种抽象表示,可以表示数据库连接资源、文本文字等任何形式的数据; 2) 文档对象主要为视图提供公用成员函数,使其可以访问文档的数据,但所有的数据处理都由文档对象自己完成;2. 文档类的主要操作: 1) 操作和可覆盖函数:在MFC文献中,操作被描述为非虚拟类的成员函数,而可覆盖函数即虚函数; 2) c
2015-09-22 20:06:16 4556
原创 [bash]正则表达式、BRE模式
1. 正则表达式引擎: 1) 正则表达式用于匹配文本,经常和sed和gawk配合使用来过滤文本; 2) 正则表达的类型:类型主要是由实现正则表达式的引擎来实现的,比如Java的正则表达式有Java版本实现的引擎,MySQL有它自己的正则表达式实现,而Linux的正则表达式的实现使用了POSIX的BRE引擎和ERE引擎; 3) BRE:Basic Regular Exp
2015-09-21 15:53:08 1650
原创 [MFC]文档视图体系结构、单文档界面
1. 文档视图结构: 1) 是MFC的一种模块化设计思想的产物,要求程序的数据和表现数据的视图分开来处理; 2) 数据以文档的形式表现,文档可以存储在磁盘中永久保存也可以被程序读出并进行处理; 3) 单文档(SDI,Single Document Interface)和多文档(Multiple Document Interface)的区别:单文档界面程序只支持打开一个
2015-09-20 20:25:03 3177
原创 [MFC]公用对话框介绍、CFileDialog
1. 公用对话框: 1) 在使用Windows时有些对话框可能用得太频繁了,以至于并不是所有应用程序都愿意重复开发这些使用如此频繁的对话框,像打开文件的对话框、设置字体的对话框等等; 2) MFC为这些对话框封装了专门的类,使得用户可以非常方便地在程序中建立这样的对话框来减轻开发负担; 3) 这里列举几个非常常用的公用对话框类:CFileDialog:Open和S
2015-09-15 16:02:29 2949
原创 [bash]sed流编辑器及其基本命令
1. 自动化文本处理——流编辑器sed和gawk: 1) 在自动化处理大量文本时普通的交互式编辑器(如Vim等)显得力不从心,而Unix中的流编辑器sed和gawk可以基于一组命令和脚本自动化处理大量数据; 2) 流编辑器的处理过程: i. 先基于命令行或写在命令文件中的命令来处理文本; ii. 然后逐行处理文件中的各行,读取一行、处理一
2015-09-14 11:51:19 1314
原创 [MFC]PropDemo程序:属性表的应用
1. 属性表的功能和大致创建步骤: 1) 属性表是Windows提供的非常良好的性能之一,用于调节应用程序的相关参数,比如我的电脑右键后点击属性跳出的含有好几个选项卡的的对话框就是属性表; 2) 属性表在Win32 API中的实现相当琐碎,但是MFC有了主结构的支持使得其实现属性表相当容易; 3) 实现属性表的两个MFC类——CPropertySheet和CPrope
2015-09-10 16:28:19 1942
原创 [MFC]DlgDemo2程序:非模态对话框的基本应用
1. 非模态对话框的创建方法以及和模态对话框的不同之处: 1) 首先是创建非模态对话框使用的是CDialog::Create而不是CDialog::DoModal; 2) 那么最大的问题就来了,Create是从CWnd继承而来的用来创建普通窗口用的函数,这就导致了关闭对话框时和模态对话框的大不相同!! 3) 由于使用Create创建对话框窗口了,因此关闭它就也要和关闭
2015-09-09 18:24:13 1480
原创 [MFC]DlgDemo1程序:基本的模态对话框
1. 接下来所演示的DlgDemo1程序将演示基本的模态对话框的使用: 1) 该程序是基于视图的MFC程序; 2) 视图左上角将显示一个粉红色的矩形; 3) 菜单“文件”中有一个Options菜单项,点击后可以打开一个对话框; 4) 对话框中可以输入想设定的矩形的宽和高(范围必须在1 ~ 128内); 5) 还可以选择显示模式(英寸、厘米、像素,是
2015-09-09 15:40:12 1171
原创 [Objective-C]C语言特性(函数,变量,编译指令,指针,块)
!!这部分讲解的是OC对于C语言特性的继承,包括小范围的扩展,因此关于每个点只强调一些重要的内容以及OC的扩展内容1. 函数定义: 1) 如果没有写返回值类型,则默认为int类型; 2) 随着IT行业业务的扩大,不同公司开发的代码库中函数名重名的可能性大大增强,因此会在相互使用对方的代码库时遇到重名的错误,因此OC建议各公司开发的代码库中函数名最好加上公司名称的前缀
2015-09-09 14:43:03 1196
原创 [Objective-C]控制流、数组
1. 关于OC的控制流的介绍: 1) OC的控制流基本继承了C语言的特性; 2) 所有控制流的逻辑判断处完全和C语言一样,可以使用任意类型的值,0和空代表假,非0和非空代表真; 3) if语句等分支部分如果只有一条语句则可以不加花括号,如果有多条语句则必须加花括号; 4) switch-case-defualt结构和C语言用法一模一样(也需要break跳出)
2015-09-09 10:51:45 625
原创 [MFC]在程序中访问对话框中的控件——GetDlgItem函数
1. 使用GetDlgItem函数来访问对话框中的控件: 1) 函数原型:CWnd* CWnd::GetDlgItem(int nID) const; 2) 只要参数指定为要访问的控件的ID,即可返回该控件的指针,但要注意的是返回的是CWnd*类型的指针,是所有窗口类型的父类;2. 安全地利用GetDlgItem返回的指针来访问控件: 1) 如果想访问的是
2015-09-06 20:51:36 25010 1
原创 [MFC]DoDataExchange的对话框数据交换和检验
1. 对话框里控件上的数据应该如何保存? 1) 一般需要在CDialog的派生类中定义一些数据成员用来保存控件中用户输入的数据; 2) 那么最大的问题就是如何让这些定义的数据成员和控件中的数据进行及时的交流——使用SetDlgItemText和GetDlgItemText两个函数即可: i. 在OnInitDialog中使用SetDlgItemText将数据
2015-09-04 16:16:28 2281 1
原创 [MFC]CDialog类简介、创建模态对话框
1. CDialog类的基本使用方法: 1) 在创建自己的对话框之前必须先从CDialog类派生出自己的类,并在派生类中定义一些自己的数据域以及其它新的函数; 2) CDialog中继承来的最重要的三个函数都是消息响应函数:OnInitDialog、OnOK、OnCancel函数 i. OnInitDialog相应的WM_INITDIALOG消息,该函
2015-09-02 16:27:56 4666
原创 [MFC]对话框创建的基本步骤、定义对话框模板
1. 对话框的基本功能: 1) 对话框是一种特殊的窗口,主要用于响应用户的输入,大部分空间都应放在对话框中; 2) 对话框的创建比普通窗口简单的多,可以直接在资源脚本.rc文件中通过脚本定义; 3) 模态对话框和无模态对话框: i. 模态对话框其实是应用程序的一种表达,即“如果您不提供我需要的输入的话那你无法做其它任何事”; i
2015-09-01 21:26:37 4722
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人