MFC
MFC
杨林伟
像火箭科学家一样思考!
展开
-
20 MFC - 案例总结
1 新建项目1.1 根据向导创建项目首先,新建MFC项目(SaleSystem),基于单文档,MFC标准项目,同时,去掉工具栏:1.2 添加预处理指令由于微软在VS2013中不建议再使用C/C++的传统库函数scanf,strcpy,sprintf等,所以直接使用这些库函数会提示C4996错误。VS建议采用带_s的函数,如scanf_s、strcpy_s,但这些并不是标准C/C++...原创 2019-10-21 14:47:26 · 5806 阅读 · 1 评论 -
19 MFC - 标签控件 CTabCtrl
在ui工具箱拖放 Tab Control2)把 TabSheet.h和TabSheet.cpp 放在项目文件同级目录,并且添加到工程目录中3)给ui上 Tab Control 关联Control类型(CTabSheet)4)添加对话框a) 资源视图 -> Dialog -> 右击 -> 插入 Dialogb) 设置相应属性:Style -> Chi...原创 2019-10-21 11:19:42 · 493 阅读 · 0 评论 -
18 MFC - 树控件 CTreeCtrl
常用属性设置:常用接口:1)关联控件变量2)添加图标资源(icon)a)把ico资源文件放在项目res文件夹中b)资源视图 -> Icon -> 添加资源:c)导入ico文件3)通过代码加载图标//加载图标HICON icon[3];icon[0] = AfxGetApp()->LoadIconW(IDI_ICON1);icon[1] = ...原创 2019-10-21 11:17:38 · 534 阅读 · 0 评论 -
17 MFC - 列表控件 CListCtrl
常用属性设置:view -> Report(报表方式)常用接口:关联控件变量后,测试接口://设置风格样式 //LVS_EX_GRIDLINES 网格 //LVS_EX_FULLROWSELECT 选中整行 m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FUL...原创 2019-10-21 11:06:01 · 374 阅读 · 0 评论 -
16 MFC - 组合框(下拉框) CComboBox
常用属性设置:常用接口:关联控件变量后,测试接口://添加字符串内容m_combo.AddString(TEXT("可乐")); m_combo.AddString(TEXT("雪碧"));m_combo.SetCurSel(1);//显示显示第1项//获取组合框中当前选中项的下标int index = m_combo.GetCurSel(); CString str...原创 2019-10-21 10:58:20 · 702 阅读 · 0 评论 -
15 MFC - 编辑框CEdit
常用属性设置:常用接口:原创 2019-10-21 10:53:50 · 443 阅读 · 0 评论 -
14 MFC - 普通按钮 CButton
按钮是最常见的、应用最广泛的一种控件。在程序执行期间,当单击某个按钮后就会执行相应的消息处理函数。按钮的主要属性是Caption,来设置在按钮上显示的文本。命令按钮处理的最多的消息是:BN_CLICKED,双击按钮即可跳转到处理函数。或者,通过按钮属性 -> 控制事件 -> 选择所需事件,添加处理函数://按钮BN_CLICKED事件处理函数void CMFCApplic...原创 2019-10-21 10:51:26 · 450 阅读 · 0 评论 -
13 MFC - 静态文本框CStatic
静态文本框是最简单的控件,它主要用来显示文本信息,不能接受用户输入,一般不需要连接变量,也不需要处理消息。静态文本框的重要属性有:ID:所有静态文本框的缺省ID都是IDC_STATIC,静态ID,不响应任何消息(事件)Caption:修改显示的内容常用接口:接口功能CWnd::SetWindowText设置控件内容CWnd::GetWindowText...原创 2019-10-21 10:48:29 · 584 阅读 · 0 评论 -
12 MFC - 非模态对话框
当非模态对话框显示时,运行转而执行程序中的其他任务,而不用关闭这个对话框。图形界面操作过程和模态对话框一样,只是,非模态对话框实现方式不一样,先创建(CDialog::Create)一次,然后再显示(CWnd::ShowWindow)。主对话框.h类中声明对话框对象:创建对话框放在主对话框类的构造函数或OnCreate()函数,目的只创建一次对话框://主对话框构造函数CD...原创 2019-10-21 10:34:31 · 388 阅读 · 0 评论 -
11 MFC - 模态对话框
当模态对话框显示时,程序会暂停执行,直到关闭这个模态对话框之后,才能执行程序中的其他任务。1)通过工具箱在界面上放一个Button,双击此按钮即可跳转到按钮处理函数://按钮处理函数void CDialogDlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码}2)资源视图 -> Dialog -> 右击 -> 插...原创 2019-10-21 10:32:27 · 486 阅读 · 0 评论 -
10 MFC - 对话框应用程序框架介绍
1. 资源视图用 AppWizard 创建基于对话框的应用程序框架(假定工程名为 Dialog )后,项目工作区上增加了一个“资源视图”选项卡。或者,通过视图找到“资源视图”选项卡:在 MFC中,与用户进行交互的对话框界面被认为是一种资源。展开“Dialog”,可以看到有一个ID为IDD_ DIALOG _DIALOG(中间部分(DIALOG)与项目名称相同)的资源,对应中间的对话框设计...原创 2019-10-21 10:29:53 · 561 阅读 · 0 评论 -
09 MFC - 创建基于对话框的 MFC 应用程序框架
对话框是一种特殊类型的窗口,绝大多数Windows程序都通过对话框与用户进行交互。在Visual C++中,对话框既可以单独组成一个简单的应用程序,又可以成为文档/视图结构程序的资源,下面来创建程序:选择“文件 | 新建 | 项目”菜单;在“新建项目”对话框中,选择“ MFC 应用程序 ”,输入工程名称,选择“确定”。选择“ 基于对话框”,即创建基于对话框的应用程序,选择“完成”。...原创 2019-10-21 10:26:44 · 690 阅读 · 0 评论 -
08 MFC - MFC框架中一些重要的函数
1. InitInstance函数应用程序类的一个虚函数,MFC应用程序的入口。2. PreCreateWindow函数当框架调用CreateEx函数创建窗口时,会首先调用PreCreateWindow函数。通过修改传递给PreCreateWindow的结构体类型参数CREATESTRUCT,应用程序可以更改用于创建窗口的属性。在产生窗口之前让程序员有机会修改窗口的外观。最后再调用...原创 2019-10-21 10:22:30 · 582 阅读 · 0 评论 -
07 MFC - 用向导生成一个MFC应用程序
1. 向导流程在VS中选择“文件” – “新建” – “项目”:选择 MFC – MFC应用程序,接下来我们创建一个单文档MFC标准类型应用程序。一路按默认值next,到最后一个页面:MFC自动为我们生成了四个类,它们的继承关系如下:2. 类视图3. 文档/视图结构体系MFC应用程序框架结构的基石是文档/视图体系结构,它定义了一种程序结构,这种结构依靠文档对象保存应用程序的...原创 2019-10-21 10:18:18 · 758 阅读 · 0 评论 -
06 MFC - Widnows字符集
1. 多字节字符集(8位的ANSI字符集)在Windows98以及以前的版本使用8位ANSI字符集,它类似于我们程序员熟悉的ASCII字符集。char sz[] = "ABCDEFG";char *psz = "ABCDEFG";int len = strlen(sz);2. 宽字符集(16位的Unicode字符集)在WindowsNT和Windows2000后开始使用16位的U...原创 2019-10-21 10:11:57 · 370 阅读 · 0 评论 -
05 MFC - 帮助文档的使用
1. MSDN的使用2. VC++之MFC类库中文手册通过此手册查找,必须加上成员所属的类作用域(类名::),否则,无法查找到匹配的关键字。原创 2019-10-21 10:09:07 · 806 阅读 · 0 评论 -
04 MFC - 消息映射
消息映射是一个将消息和成员函数相互关联的表。比如,框架窗口接收到一个鼠标左击消息,MFC将搜索该窗口的消息映射,如果存在一个处理WM_LBUTTONDOWN消息的处理程序,然后就调用OnLButtonDown。下面是是将消息映射添加到一个类中所做的全部工作:1)所操作类中,声明消息映射宏。2)通过放置标识消息的宏来执行消息映射,相应的类将在对BEGIN_MESSAGE_MAP和END_MES...原创 2019-10-21 10:07:16 · 307 阅读 · 0 评论 -
03 MFC - 入门程序
1. MFC是什么?微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。MFC把Windows SDK ...原创 2019-10-21 10:04:47 · 460 阅读 · 0 评论 -
02 MFC - Windows 编程模型
一个完整的Win32程序(#include <windows.h>),该程序实现的功能是创建一个窗口,并在该窗口中响应键盘及鼠标消息,程序的实现步骤为:WinMain函数的定义创建一个窗口进行消息循环编写窗口过程函数1. 项目的创建2. WinMain函数的定义int WINAPI WinMain( HINSTANCE hInstance, //应用程序实...原创 2019-10-21 09:53:01 · 461 阅读 · 0 评论 -
01 MFC - 基本概念解析
我们在编写标准C程序的时候,经常会调用各种库函数来辅助完成某些功能:初学者使用得最多的C库函数就是printf了,这些库函数是由你所使用的编译器厂商提供的。在Windows平台下,也有类似的函数可供调用:不同的是,这些函数是由Windows操作系统本身提供的。1) SDK和APISDK: 软件开发工具包(Software Development Kit),一般都是一些被软件工程师用于为特定的...原创 2019-10-21 09:26:28 · 433 阅读 · 0 评论