Visual Studio采用可视化编程的方式,编写应用程序。仅通过直观的操作就能完成界面的设计工作。比如,我们在界面上添加一个按钮,那么添加按钮这个过程是通过图形化界面操作的。但是该按钮实现的功能还是需要我们编程,通过代码实现的。

Windows应用程序

我们先了解一下Windows应用程序运行的机制:

API函数:API是一些预先定义的函数,为应用程序提供Windows系统特殊函数及数据结构,Windows应用程序可以利用API函数调用系统功能;是Windows系统与Windows应用程序间的标准程序接口;

MFC:微软基础类库,是一个微软公司提供的类库,以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。

利用API函数编写应用程序,必须首先了解以下内容:

  1. 窗口的概念:系统管理、应用程序的基本单位;应用程序与用户之间交互的接口环境;Windows应用程序的基本操作单元。编写一个Windows应用程序首先应该创建一个或多个 窗口,随后应用程序的运行过程即是窗口内部、窗口与窗口之间、窗口与系统之间进行数据交换的过程。
  2. 事件驱动的概念:所谓事件驱动,简单地说就是点击什么对象(即产生什么事件)电脑就执行什么操作(即调用什么函数)。Windows程序设计是针对事件驱动进行的,事件驱动是对事件消息的描述。Windows程序的执行顺序取决于事件的发生顺序,程序的执行顺序是由顺序产生的消息驱动的,但是消息的产生往往并不要求有次序之分。
  3. 句柄的概念:句柄是一个8字节长(相对64位操作系统)的数值,用于标识应用程序中不同的对象和同类对象中不同的实例。应用程序通过句柄访问相应的对象信息。
  4. 消息的概念:Windows应用程序利用Windows消息(Message)与应用程序及系统进行信息交换。消息包含三部分内容:消息号(由事先定义好的消息名标识)、字参数(用于提供消息的附加信息)、长字参数(用于提供消息的附加信息)。在Windows中消息用结构体MSG表示。

一个完整的Windows应用程序通常由五种类型的文件组成:源程序文件,头文件,模块定义文件,资源描述文件,项目文件。源程序至少由两部分组成:入口函数(WinMain)和窗口函数(WndProc)。入口函数是所有程序的入口,类似main函数。完成定义和初始化,产生消息循环。窗口函数完成消息循环的响应。

WinMain函数:

  1. 注册窗口类,建立窗口及执行必要的初始化
  2. 进入消息循环,据接受的消息调用相应的处理过程
  3. 当消息循环检索到WM_QUIT时终止程序运行


WinProc函数:

实战——创建空白的Windows窗口程序(应用程序框架)




首先打开Visual Studio 2013 选择“新建项目”—>“空项目”—>修改项目名称和存储位置

在解决方案里,选择源文件,添加新建项

选择C++文件,修改文件名称

然后可以将以上示例程序填写进去

生成应用程序

运行


也可以在第一步不选择“空项目”,选择“Win32项目”,这样它会自动生成以上我们输入的空白窗口应用程序代码。我们可以直接在此基础上开发应用程序。

基于MFC开发Windows应用程序

MFC:微软基础类库,是一个微软公司提供的类库,以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。

1. 程序界面中添加控件的方法:

使用可视化工具在基于对话框的应用程序中添加控件。一般来讲,控件都是出现在对话框中,因此可使用可视化工具在对话框中完成对控件的添加。并使用布局工具对控件的尺寸位置进行调整。

控件接受的消息主要有单击、双击和字符输入等。

我们在新建项目时,选择新建“MFC应用程序”,项目打开后,就会出现图形化窗口界面,我们可以直接在这个图形化界面上添加控件。

可以通过“工具箱”添加控件,每个控件可通过“属性栏”修改其属性。通过下一节可以看到控件最重要的属性就是其ID,在代码中我们是通过其ID操作该控件的。

2. 为控件添加消息映射


我们来看一下在Visual Studio 2013中的实际操作。

右键单击控件,选择“添加事件处理程序”

点击“添加编辑”后,将自动跳转到代码界面,以上的1,2两步都已自动完成,我们只需在消息处理函数中添加函数体即可。

对于“编辑框”这类控件,除了要关注其ID值外,由于其本身是带有数据属性的(我们需要读取或写入编辑框中的数据),所以需要为编辑框控件定义变量。

同样,右键单击控件,选择“添加变量”

单击完成后,该变量的定义等代码也会自动添加到代码文件中,我们可以直接使用该变量。

使用Visual Studio 2013编写Windows程序相关推荐

  1. vs2017c语言一闪而逝6,Visual Studio IDE编写程序时不显示窗口或窗口一闪而逝的解决方法...

    这篇文章主要为大家详细介绍了Visual Studio IDE编写程序时不显示窗口或窗口一闪而逝的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 使用Visual Studio IDE编写 ...

  2. Visual Studio 2013运行C/C++程序

    0 前言 开始学习C/C++了,肯定首先要找一个能运行程序的软件,很多人都有不同的推荐,如devc++.codeblocks,VC++6.0,Visual Studio 20XX,我们本科学习数据结构 ...

  3. Windows 7 离线安装Visual Studio 2013(VS2013)

    1. 离线安装VS2013必须先将IE升级至IE10以上 离线升级IE 首先系统必须是sp1的,然后安装KB2670838.KB2729094.KB2731771.KB2786081.KB283414 ...

  4. visual studio 如何编写c语言程序,用Visual Studio 编写纯C语言程序

    本篇文章讲述如何用微软的 Visual Studio 编写纯C语言程序,这里的纯C语言,指的是 ANSI C 语言. 要在 Visual Studio 里创建一个ANSI C语言程序,请按以下步骤执行 ...

  5. 【OpenGL】一、Visual Studio 2019 创建 Windows 桌面程序 ( Visual Studio Installer 安装 C++ 桌面开发库 | 创建桌面程序 )

    文章目录 一.Visual Studio Installer 安装 C++ 桌面开发库 二.Visual Studio 2019 创建 Windows 桌面程序 之前曾使用 Visual Studio ...

  6. Visual Studio 2013 Web开发新特性

    微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Server 2013. ...

  7. Visual Studio 2013新功能介绍

    提高开发人员工作效率的新功能 Visual Studio 2013 预览版根据客户反馈和 Microsoft"重点关注于内容"的核心设计准则对用户界面的许多方面做出改进,从而改善了 ...

  8. Visual Studio 2013安装使用方法

    Visual Studio 2013 安装步骤 装载镜像 安装过程 开发环境 启动 注册 项目创建 程序运行 安装步骤 装载镜像 下载之后的文件是.iso格式的镜像,Windows 8/10都能够双击 ...

  9. Visual Studio 2013 简体中文破解版

    vs2013(Visual Studio 2013)是一款微软出品的编程开发工具,软件提供了UML工具.代码管控工具.集成开发环境(IDE)等一系列编程插件,可以满足团队在项目开发中的大部分需求:vs ...

  10. vs2013建立html页面,使用 Visual Studio 2013 创建基本 ASP.NET 4.5 Web 窗体页

    使用 Visual Studio 2013 创建基本 ASP.NET 4.5 Web 窗体页 03/03/2014 本文内容 对于新的 web 应用程序开发,我们建议 Razor Pages. 有关详 ...

最新文章

  1. 拜访了这位小哥的GitHub后,我失眠了!
  2. 绝对精度与相对精度概念
  3. 用tigervnc远程控制centos x64 6.2
  4. python操作手机京东_Python实现自动上京东抢手机
  5. 【Linux网络编程】网络字节序和地址转换
  6. MybatisPlus实现条件查询
  7. [转载]《不要一辈子靠技术生存》
  8. 四川加油,中国人加油!我们永远不服输!
  9. SAP License:糟糕的用户比任何系统问题都要危险
  10. 软件工程-构建之法 团队
  11. DotNet中的集合对象(2): Hashtable
  12. Java Web项目源码整合开发大合集
  13. 决定要收藏,让你白嫖阿里矢量图(iconfont矢量图使用)
  14. 4G的小程序与5G的Chromium OS?
  15. 软件工程各种UML总结
  16. UPnP 端口映射服务威胁分析
  17. edgy trees_在Ubuntu Edgy上安装TrueCrypt
  18. 经营三类医疗器械不使用计算机,第三十条经营第三类医疗器械的企业,应当具有符合医疗器械经营质量管理要求的计算机信息管理系统,保证经营的产品可追溯。计算机信息管理系统应当具有以下功能:...
  19. CC1310开发环境
  20. 云服务器通过域名访问自己的项目

热门文章

  1. php路径跳转include,PHP中include路径的解决方法汇总
  2. 设备log导入oracle,oracle imp 导入数据库出错 请看log!
  3. Angr安装与使用之使用篇(十四)
  4. 分别用switch语句和if语句实现键盘录入月份,输出对应的季节
  5. 我认知的javascript之作用域和闭包
  6. 13.solr学习速成之IK分词器
  7. 步步为营-45-一套增删查改
  8. Android商城开发系列(十一)—— 首页秒杀布局实现
  9. EXTJS4.0 EXT文件目录,本地加载文档,命名规范
  10. JavaScript 的语法(网摘)