MFC编程入门之七(对话框:为对话框添加控件)
创建对话框资源需要创建对话框模板、修改对话框属性、为对话框添加各种控件等步骤,前面一讲中已经讲了创建对话框模板和修改对话框属性,
本节继续讲如何为对话框添加控件。
上一节中创建了一个名为“Addition”的工程,目的是生成一个实现加法运算的应用程序。实现加法计算有几个必要的因素:被加数、加数、和。
被加数和加数需要输入,和需要输出显示。那么这几个因素都需要相应的控件来输入或显示,下面一步步讲解如何添加这些控件。
1、为对话框添加一个静态文本框(Static Text),用于显示字符串——"被加数"。
上一节中生成的资源模板中自动添加了一个标题为“TODO:在此放置对话框控件.”的静态文本框,我们可以修改他的标题继续使用,也可以删掉
它。这里为了从头讲解静态文本框的添加过程,将它删掉,继续添加新的静态文本框。
删除控件时,可以使用鼠标左键点击选中它,选中后控件的周围会出现虚线框,然后按Delete键就可以将其删除了。在"Addition"工程的Resource
View中打开上一讲中创建的对话框模板IDD_ADDITION_DIALOG,自动添加的静态文本框就可以使用这种方法删除。
在添加新的静态文本框以前,先看看Toolbox视图是否显示了,如果没有显示,在菜单栏上点击View->Toolbox即可。Toolbox视图如下图:
Toolbox中列出了一些常用控件,其中一个是Static Text,即是我们要添加的控件。在Toolbox中的Static Text上点下鼠标左键不放开,并拖到IDD_
ADDITION_DIALOG对话框木板上,模板上会出现一个虚线框,我们找到合适的位置松开鼠标左键放下它。
用鼠标左键选中控件后出现虚线框,然后鼠标鼠标移到虚线框上几个黑点的位置会变成双箭头的形状,此时就可以按下鼠标并拖动来改变控件大小了
。我们可以这样改变新添加的静态文本框控件的大小,以更好的显示标题。当然,整个对话框模板也可以用这种方法改变大小。
接下来就该修改静态文本框的文字了。鼠标点击静态文本框,在右键菜单中选择"Properties";Properties面板就会显示出来,在面板上修改Caption
属性为"被加数",ID修改为IDC_SUMMAND_STATIC。此时模板如下图:
2、为对话框添加一个编辑器(Edit Control),用来输入被加数。
添加编辑框的过程与静态文本框类似,在Toolbox中选中Edit Control控件拖到对话框模板上,并使其与之前的静态文本框水平对齐(为了美观),然后
调整其大小是指适合被加数的输入。
在编辑框上点右键,仍然在右键菜单中选择"Properties"显示出属性(Properties)面板,修改其ID为IDC_WUMMAND_EDIT。
3、按照1的方法添加一个标题为"加数"的静态文本框,用于显示字符串——“加数”。并将其ID改为IDC_ADDEND_STATIC。
4、按照2的方法添加一个ID为IDC_ADDEND_EDIT的编辑框,用来输入加数。
5、按照1的方法添加一个标题为“和”的静态文本框,用于显示文字——“和”。并修改其ID为IDC_SUM_STATIC。
6、按照2的方法添加一个ID为IDC_SUM_EDIT的编辑框,用来显示最终的加和。
7、类似的添加按钮(Button)控件到对话框模板,用于在被点击后触发加法计算。修改其标题为“计算”,ID为IDC_ADD_BUTTON。
8、删除OK按钮。打开Cancel按钮的属性面板,将标题改为“退出”,并使其与“计算”按钮水平对齐。
9、根据控件的布局,适当调整对话框的大小,使其相对控件布局来说大小合适,界面美观。
这样在对话框中就把我们在本例中需要用到的控件就添加完了。最终效果如下:
至此,我们的对话框资源就基本创建完成。应用程序运行后的界面效果已经很清楚了。后面讲如何在对话框中实现加法计算功能,并能很好的和
界面交互。
MFC编程入门之七(对话框:为对话框添加控件)的更多相关文章
- VS2010/MFC编程入门之二十三(常用控件:按钮控件的编程实例)
上一节VS2010/MFC编程入门教程中鸡啄米讲了按钮控件Button.Radio Button和Check Box的基本用法,本节就继续讲按钮控件的内容,通过一个实例让大家更清楚按钮控件在实际的软件 ...
- MFC编程入门之二十七(常用控件:图片控件PictureControl)
上一节讲的是滚动条控件,本节主要讲一种简单实用的控件,图片控件Picture Control.我们可以在界面某个位置放入图片控件,显示图片以美化界面. 图片控件简介 图片控件和前面讲到的静态文本框都是 ...
- MFC编程入门之二十三(常用控件:按钮控件的编程实例)
上一节讲了按钮控件Button.Radio Button和Check Box的基本用法,本节继续讲按钮控件的内容,通过一个实例让大家更清楚按钮控件在实际的软件开发中如何使用. 因为Button控件在前 ...
- VS2010/MFC编程入门之二十七(常用控件:图片控件Picture Control)
上一节中鸡啄米讲的是滚动条控件,本节主要讲一种简单实用的控件,图片控件Picture Control.我们可以在界面某个位置放入图片控件,显示图片以美化界面. 图片控件简介 图片控件和前面讲到的静态文 ...
- MFC编程入门之二十一(常用控件:编辑框Edit Control)
上一节讲了静态文本框,本节讲的是编辑框(Edit Control)同样是一种很常用的控件,我们可以在编辑框中输入并编辑文本.在前面加法计算器的例子中已经演示了编辑框的基本应用.下面具体讲解编辑框的使用 ...
- MFC编程入门之二十(常用控件:静态文本框)
上一节讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组合框.图片控 ...
- VS2010/MFC编程入门之二十一(常用控件:编辑框Edit Control)
鸡啄米上一节讲了静态文本框,本节要讲的编辑框(Edit Control)同样是一种很常用的控件,我们可以在编辑框中输入并编辑文本.在前面加法计算器的例子中已经演示了编辑框的基本应用.下面具体讲解编辑框 ...
- VS2010/MFC编程入门之二十(常用控件:静态文本框)
上一节鸡啄米讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始鸡啄米将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组 ...
- VS2010/MFC编程入门之三十二(常用控件:标签控件Tab Control 上)
前面两节鸡啄米讲了树形控件Tree Control,本节开始讲解标签控件Tab Control,也可以称为选项卡控件. 标签控件简介 标签控件也比较常见.它可以把多个页面集成到一个窗口中,每个页面对应 ...
- VS2010/MFC编程入门之九(对话框:为控件添加消息处理函数)
创建对话框类和添加控件变量在上一讲中已经讲过,这一讲的主要内容是如何为控件添加消息处理函数. MFC为对话框和控件等定义了诸多消息,我们对它们操作时会触发消息,这些消息最终由消息处理函数处理.比如我们 ...
随机推荐
- 微信蓝牙BLE接入调试指引 硬件篇
1 平台框架简介 微信蓝牙BLE由三个模块组成,分别是蓝牙设备.微信和第三方服务器,如下图: 蓝牙设备与微信之间的通信是通过蓝牙GATT协议进行. 微信与第三方服器之间的通信是通过网络http 接口进 ...
- 多线程 - CyclicBarrier
一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point).在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarri ...
- openfire二次开发eclipse环境搭建
转自:http://blog.csdn.net/daigua245/article/details/7918243 1.将openfire源码项目解压到(如果是从SVN CO下来的则不用)eclips ...
- java math library
https://github.com/jroyalty/jglm https://github.com/JOML-CI/JOML
- C# gridControl 部分设置
1.页数导航状态栏 2.列表行号栏 3.列标题显示隐藏 4.Button设置
- Array基本操作
// defined array object val arr0= ) val arr1= Array(") println(arr1()) arr1()="Hello Spark ...
- 向ES6看齐,用更好的JavaScript(三)
本文是ES6系列的第三篇,主要介绍ES6新增的数据类型.数据结构,先上传送门: 1 变量部分 2 现有对象拓展 3 新增数据类型/数据结构 4 新的异步编程模式 5 类和模块 1 第七种数据类型Sym ...
- db2实例、数据库、表空间
创建数据数据库之前必须创建实例,数据库是运行在实例之上的.实例在本质上是由一些后台进程和共享内存组成.实例相当于是数据库的一个容器,可以包含多个数据库,但是一个数据库只能由一个实例进行管理.相当于Wi ...
- html5中的clip
定义和用法 clip() 方法从原始画布中剪切任意形状和尺寸. 提示:一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内(不能访问画布上的其他区域).您也可以在使用 clip() 方法前通 ...
- java权限修饰符