按钮控件的使用

XIUGRIL

XIUGRIL

2016-01-29 12:04

按钮控件的使用,按钮控件的使用

按钮控件的使用
作者:杜修杏

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/cyuyanjiaocheng/)

下载本文示例代码

最近有不少朋友发信到我的邮箱,其中有高手也有菜鸟,也许他们问的问题我还不能一一解答,但是他们的来信的确让我感受到极大的鼓舞。今天忙里偷闲,翻译了一片外国的文章,献给那些摸索中的菜鸟们。
下面将通过一个最简单的程序来说明Windows的消息机制。程序主要是使用两个按钮控件,它要求用户输入两个数字,当你按下其中一个按钮的时候,会根据进行相应的计算并输出结果。例如如果你输入1和2,然后按下''Plus'' 按钮,就会输出结果。
由于大多数情况下,按钮控件都是在对话框中使用的,所以我们的程序也就从对话框开始。使用程序向导建立一个名为“ButtonDemo”的项目,选择基于对话框的程序类型。



选择Workspace中的ResourceVew 属性页,在里面找到名为IDD_BUTTONDEMO_DLG的一项,双击打开对话框编辑窗口。可以看到系统已经替我们在窗口中加入了''Ok''和''Cancel''两个按钮,我们保留OK按钮,删掉Cancel按钮,并按照图中所示改变按钮的放置位置。
通过鼠标的拖放操作往窗体中加入两个按钮(因为在本程序中需要''Plus'' and ''Minus''两个按钮),在按钮上面右击鼠标,选择properties进入控件的属性设置。MFC会为每一个新加入到窗口中的按钮分配一个唯一的ID值,相应的ID值会记录在一个名为"Resource.h"文件中。为了表达清楚各个控件的功能,我们将按钮的ID值改为ID_BUTTON_ADD,并修改caption的内容为“Plus”。



下一步我们要加入Edit Box控件以便在程序中输入和输出数据。加入Edit Box控件的方法跟加入Button控件的方法是一样的,就是先把控件拉进来,调整它在窗口中的位置,然后修改它们的ID值。如下图所示,不过记得在最后一个Edit Box控件的属性设置中要把 ''disable''的属性也勾上,因为计算的结果不需要由用户输入。我们还在右边的两个Edit Box之间加入一个Static 控件用来显示等式中的等号,只需要把控件拖进来改变它的caption就可以了。



调整好各个控件的位置之后,我们要把控件与程序代码联系起来。这一步可以通过类向导(class wizard)来实现,调用类向导的方法有两种,一种是通过菜单项 View-Class Wizard调用,又或者通过快捷键Control + W 。选择Member Variables 属性页,加入以下三个变量: m_nX, m_nY和m_nAnswer。记住三个变量的类型都是整数int类型,它们用来存放Edit Box中的整数值。



然后再选择Message Maps 属性页,为ID值为ID ID_BUTTON_ADD和 ID_BUTTON_SUBTRACT 的两个按钮控件添加BN_CLICK消息,系统会针对添加的消息在代码中加入相应的消息函数,这样当用户点击按钮的时候就会调用这个函数。在本例中生成的两个消息函数分别名为 OnButtonAdd 和 OnButtonSubtract.。完成了上面的工作之后,记住最后要按OK按钮退出类向导。



现在我们可以着手代码的编写了。代码的意思相信不难理解,但是关于UpdateData函数却有必要在这里讲解一下。在这里UpdateData函数起到控制Edit Box 显示内容的作用。当调用UpdataData (TRUE)的时候,程序会对控件对应的变量值进行刷新,也就是说会把控件中的输入值赋给对应的变量。而调用UpdataData (FALSE)的时候,程序则会把相应变量的值显示在对应的控件上面。

void CButtonDemoDlg::OnButtonAdd() {UpdateData (TRUE);m_nAnswer = m_nX + m_nY;UpdateData (FALSE);}void CButtonDemoDlg::OnButtonSubtract() {UpdateData (TRUE);m_nAnswer = m_nX - m_nY;UpdateData (FALSE);}
按钮的使用就是如此简单。
既然上面讲到添加消息函数,这里就顺便加插些内容。在默认的情况下,通过类向导只能添加一些常用的消息函数。也就是说在类向导的消息列表中并没有列举出所有的消息。此时可以通过下面的方法往列表中加入这些没有显示的消
展开更多 50%)
分享

猜你喜欢

按钮控件的使用

C语言教程 C语言函数
按钮控件的使用

使用Word2024控件制作下拉选择按钮

word
使用Word2024控件制作下拉选择按钮

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

VisualBasicCommonDialog控件的使用

编程语言 网络编程
VisualBasicCommonDialog控件的使用

iOS应用UI开发中的字体和按钮控件使用指南

编程语言 网络编程
iOS应用UI开发中的字体和按钮控件使用指南

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

DataGrid 控件的使用

编程语言 网络编程
DataGrid 控件的使用

Word2024中制作按钮控件

word
Word2024中制作按钮控件

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

实现类似Excel和Visual C++里文件夹式样的标签控制(二)

实现类似Excel和Visual C++里文件夹式样的标签控制(二)

优化之路:精简VB中的分段应用程序(上)

优化之路:精简VB中的分段应用程序(上)
下拉加载更多内容 ↓