Windows编程基础--第7节 来吧,VS 2010
来源:互联网 发布:餐厅排队叫号软件 编辑:程序博客网 时间:2024/05/29 18:35
VS 2010开发第一步
前面几节我们都是采用VC++ 6.0 作为IDE(集成开发环境),但是由于VC++ 6.0 已经过于老旧,目前大多数企业和个人都已经不再使用,而采用vs2005, vs2008, vs2010,vs2015作为MFC程序的开发环境,vs相对vc++6.0具有更友好的界面,及更强大的功能,采用vs开发MFC应用程序更加得心应手。
1、开始使用VS 2010
1.1 安装VS 2010
参见百度百科
1.2 创建一个基于对话框项目
执行“文件”->“新建”->“项目”,选择基于对话框的MFC程序,其他默认就好,基本上和VC++ 6.0 创建项目一模一样,如图所示:
1.3 创建一个字符统计窗口
现在我们通过一个小例子来看看VS2010创建MFC程序有什么不同,我们来创建一个字符统计窗口,输入各种字符,最后统计出所有字符个数;
设计界面如下,
一个文本输入框,一个“统计”按钮,一个文本显示“字符个数”,直接在工具箱中拖动进来就OK,然后拖动大小适中就好,方法同VC++ 6.0 没有区别,可以参考上几节内容。
注意: 若是右边没有工具箱选项卡,可以通过“视图”->“工具箱”打开。
编译运行,效果图:
1.3 创建一个字符统计窗口
双击“统计”按钮,编辑按钮的点击处理函数,
我们来分析一下:
- 获取输入框中文本
- 获取输入框中文本的字符个数
- 将字符个数显示到静态文本上
所以处理函数如下:
void Cday07Dlg::OnBnClickedButtonCount(){ // TODO: 在此添加控件通知处理程序代码 CString strInput,strOutput; GetDlgItemText(IDC_EDIT_TEXT,strInput); int nCount = strInput.GetLength(); strOutput.Format(_T("字符个数:%d "),nCount); SetDlgItemText(IDC_STATIC_COUNT,strOutput);}
1.4 编译运行
运行结果图:
这是我们发现当我们输入完成是,输入“回车”时,程序就会直接结束,那么我们修改输入框的属性值“Want Return”来允许输入框来接收回车,如图
其实这是我们可以发现现在文本框是只能输入一行,显然不够美观,那么我们再修改一下输入框属性:
- Multiline:允许多行
- Horizontal Scroll:水平滚动条
- Vertical Scroll:垂直滚动条
再次编译运行:
现在文本框现在可以输入多行,并且可以任意回车了。
有人可能和我一样,发现程序没有关闭按钮,那是因为我在创建的时候取消了系统菜单,我们可以选定对话框主界面,选择属性->system menu->TRUE:
这是关闭按钮就出现了,可以正常关闭了。
2、初探VS中消息映射机制
2.1 创建EDIT的消息处理函数
单击选定输入框,右击选择“添加事件处理程序”,这是可以很直观的看见EDIT的消息列表和要添加到的类,以及添加的处理函数名,现在我们来添加一个EN_CHANGE的消息处理函数,如图所示:
单击“添加编辑”来编辑消息处理函数,代码如下:
void Cday07Dlg::OnEnChangeEditText(){ // TODO: 如果该控件是 RICHEDIT 控件,它将不 // 发送此通知,除非重写 CDialogEx::OnInitDialog() // 函数并调用 CRichEditCtrl().SetEventMask(), // 同时将 ENM_CHANGE 标志“或”运算到掩码中。 // TODO: 在此添加控件通知处理程序代码 CString strInput,strOutput; GetDlgItemText(IDC_EDIT_TEXT,strInput); int nCount = strInput.GetLength(); strOutput.Format(_T("字符个数:%d "),nCount); SetDlgItemText(IDC_STATIC_COUNT,strOutput);}
2.2 编译运行
这是我们可以发现我们在输入框中输入字符时,下方的字符统计数会实时显示,这就是输入文本时,EDIT的EN_CHANGE消息被触发,从而触发其消息处理函数OnEnChangeEditText,导致字符统计数实时更新,效果图如下:
2.3 MFC消息映射机制流程
项目源码可以访问我的码云
- Windows编程基础--第7节 来吧,VS 2010
- Windows编程基础--第1节 第一个win32软件
- Windows编程基础--第2节 win32程序资源管理
- Windows编程基础--第3节 初探MFC
- Windows编程基础--第4节 MFC消息映射机制
- Windows编程基础--第5节 MFC对话框程序
- Windows编程基础--第6节 VC++6.0控件说明
- Windows编程基础--第10节 MFC菜单
- Windows编程基础--第13节 MFC之图片控件
- Windows编程基础--第18节 MFC之窗体操作
- Windows编程基础--第19节 MFC之自定义消息
- VS.NET windows编程基础之ListBox控件的使用
- Windows编程基础--第8节 MFC对话框控件访问的七种方法(上)
- Windows编程基础--第9节 MFC对话框控件访问的七种方法(下)
- Windows编程基础--第11节 MFC之列表控件CListCtrl
- Windows编程基础--第12节 MFC之树控件CTreeCtrl
- Windows编程基础--第14节 MFC之文件对话框CFileDialog
- Windows编程基础--第15节 MFC之复选框及单选按钮
- 线程之suspend和resume方法
- Visual Studio Ultimate 2013 Update5 中文版/英文版 下载 CD-KEY
- Dlib库landmark算法解析(ERT 集成回归树)
- redis学习系列(八)--redis-RDB基础
- Spring项目处理异常
- Windows编程基础--第7节 来吧,VS 2010
- 连续第十二总结
- Nginx 配置从零开始
- maven assembly插件构建分发包
- Xposed遇到的坑
- Labview与状态机/状态图的概念
- Verilog入门
- SpringMVC中关于静态资源拦截的处理
- 最敬佩的人