当前位置: 首页 > article >正文

Windows编程基础--第7节 来吧,VS 2010

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”来允许输入框来接收回车,如图
这里写图片描述
其实这是我们可以发现现在文本框是只能输入一行,显然不够美观,那么我们再修改一下输入框属性:
这里写图片描述

  1. Multiline:允许多行
  2. Horizontal Scroll:水平滚动条
  3. 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消息映射机制流程

Created with Raphaël 2.1.0 Start 输入框文本变化 触发EN_CHANGE消息 调用EN_CHANGE的处理函数OnEnChangeEditText 将输入框字符数返回到界面 End

项目源码可以访问我的码云

http://www.lryc.cn/news/2414823.html

相关文章:

  • Java--泛型(通配符、泛型边界、泛型与继承)
  • MBA-管理类联考综合和英语题型分数
  • div及css命名规范及参考
  • JSP页面中包含文件的两种方法(include)
  • PDF格式分析(六)PDF版本
  • 源码多多- Discuz x2.5 版块的常用设置方法和技巧
  • 网络安全知识竞赛题库
  • DataWorks概述
  • [转]FBWCBBWC
  • HDU 2246 考研路茫茫——考试大纲
  • 綾波レイ(II)の詩
  • 我的读书笔记 -《裸猿》
  • 非会员只能试看20分钟_油条速成配方来了,只需饧面20分钟,个个空心酥脆,家乡的味道...
  • 2018年第九届C/C++ A组蓝桥杯省赛真题 python解法
  • 客户端svn下载及安装步骤
  • 移动硬盘“文件或目录损坏,无法读取”解决方案
  • 基于FPGA的远程升级系统概述
  • 微信爆文神器!轻松搞定文章采集,助你成为爆文达人
  • 官方博客网站搭建指南:只需要三步就可创建高质量官方博客!
  • 域名交易价格超30万人民币,你了解多少?
  • BAT机器学习面试1000题系列
  • Windows7系统browseui.dll文件丢失问题
  • 仙侣情缘之麒麟劫java_《仙侣情缘之麒麟劫》详细流程攻略[多图]
  • 解决资源字符串乱码问题
  • 《龙门飞甲》高清完整版BD-RMVB.国语中字 最新陈坤、李宇春、李连杰、周迅动作大片...
  • 2011年最火爆的20大商机和创业概念
  • 杀毒软件技术 脱壳、虚拟、启发式介绍
  • Java开发常用软件下载地址合集
  • 删除多余启动项和删除垃圾文件
  • Typora中的emoji图标标签