实验名称MFC基本控件的使用
MFC_基本控件使用
![MFC_基本控件使用](https://img.taocdn.com/s3/m/4dea259181eb6294dd88d0d233d4b14e84243e6b.png)
MFC_基本控件使用MFC(Microsoft Foundation Class)是一种用于开发Windows应用程序的编程框架,它提供了一系列的类和函数,方便开发者快速地创建Windows界面和处理事件。
在MFC中,基本控件是开发应用程序的重要组成部分,它们用于显示和交互用户界面。
本文将介绍MFC中几种常用的基本控件以及它们的使用方法。
1. 按钮控件(CButton):按钮控件用于接收用户的点击操作,通常用于触发相应的事件处理函数。
创建按钮控件的方法如下:1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“按钮”并将其拖动到对话框上;3)设置按钮的属性,如ID、文本、尺寸等。
1)在资源视图中右击对应的对话框,选择“添加控件”;组合框控件允许用户从预定义的选项中进行选择,类似于下拉列表。
创建组合框控件的方法如下:1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“组合框”并将其拖动到对话框上;3)设置组合框的属性,如ID、选项列表、尺寸等。
4. 列表框控件(CListBox):列表框控件用于显示一个选项列表,并且可以支持多选。
创建列表框控件的方法如下:1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“列表框”并将其拖动到对话框上;3)设置列表框的属性,如ID、选项列表、尺寸等。
5. 树形视图控件(CTreeCtrl):树形视图控件用于显示一个层级结构的数据,类似于文件夹结构或者程序的菜单栏。
创建树形视图控件的方法如下:1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“树形视图”并将其拖动到对话框上;3)设置树形视图的属性,如ID、尺寸等;4)使用CTreeCtrl的成员函数添加、删除、修改树节点。
6. List控件(CListCtrl):1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“List控件”并将其拖动到对话框上;3)设置List控件的属性,如ID、列数、尺寸等;以上是几种常用的MFC基本控件的使用方法,通过使用这些控件,可以轻松地创建出一个功能完善、交互友好的Windows应用程序。
MFC通用控件使用详解
![MFC通用控件使用详解](https://img.taocdn.com/s3/m/9afd0c82970590c69ec3d5bbfd0a79563d1ed441.png)
MFC通用控件使用详解首先,我们需要在MFC应用程序中包含要使用的控件的头文件。
例如,要使用按钮控件,我们需要包含afxwin.h文件。
然后,在对话框资源中添加一个按钮控件,并给它一个唯一的ID值。
在OnInitDialog(函数中,我们可以使用以下代码获取按钮控件的指针并对其进行操作:```cppCButton* pButton = (CButton*)GetDlgItem(IDC_BUTTON1);``````cpppButton->SetWindowText(_T("Click Me"));```我们还可以使用以下代码来设置按钮的样式:```cpppButton->SetButtonStyle(BS_DEFPUSHBUTTON);```这将使按钮默认显示为按下按钮。
```cppCEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT1);``````cppCString strText;pEdit->GetWindowText(strText);``````cpppEdit->SetWindowText(_T("Hello World"));```对于列表框控件,我们可以使用以下代码获取列表框的指针:```cppCListBox* pListBox = (CListBox*)GetDlgItem(IDC_LIST1); ```然后,我们可以使用以下代码向列表框中添加项:```cpppListBox->AddString(_T("Item 1"));pListBox->AddString(_T("Item 2"));```我们还可以使用以下代码来获取列表框中选定项的索引:```cppint nIndex = pListBox->GetCurSel(;```此外,MFC通用控件还提供了进度条控件和组合框控件等功能。
MFC控件使用详细教程
![MFC控件使用详细教程](https://img.taocdn.com/s3/m/e79cac9ad05abe23482fb4daa58da0116c171f0f.png)
MFC控件使用详细教程MFC(Microsoft Foundation Class)是微软推出的一套用于开发Windows应用程序的类库。
它提供了许多方便易用的控件,可以快速创建用户界面。
本教程将详细介绍如何使用MFC控件来创建Windows应用程序。
第一步:创建一个MFC应用程序项目要使用MFC控件,首先需要创建一个MFC应用程序项目。
在Visual Studio中,选择"文件"->"新建"->"项目",然后选择"MFC应用程序"模板。
在项目设置中,可以选择使用对话框或视图来作为应用程序的主界面。
第二步:设置控件属性第三步:添加控件消息处理程序控件不仅仅可以显示在界面上,还可以响应用户的操作。
例如,当用户点击按钮时,可以执行一些特定的操作。
要实现这个功能,需要添加控件消息处理程序。
可以通过右键单击控件,选择"添加事件处理程序"来添加控件消息处理程序。
在生成事件处理程序的对话框中,可以选择控件的事件(如点击事件、鼠标移动事件等)和消息的处理函数。
在消息处理函数中,可以编写代码来实现特定的功能。
第四步:编写控件的功能代码在控件的消息处理函数中,可以使用MFC类库提供的函数来实现控件的功能。
例如,如果用户点击了按钮控件,可以使用CButton类的GetWindowText函数来获取按钮的文本,并使用CMessageBox类的MessageBox函数来显示一个消息框。
可以使用类似的方式来处理其他控件的事件。
例如,当用户选择了一个列表框中的项时,可以使用CListBox类的GetCurSel函数来获取选择的项的索引,并根据索引来执行特定的操作。
第五步:编译和运行应用程序完成了控件的添加和功能编写后,可以使用Visual Studio的编译和运行功能来编译和运行应用程序。
在编译过程中,会生成可执行文件和相关的依赖文件。
MFC常用控件使用
![MFC常用控件使用](https://img.taocdn.com/s3/m/9bc35ecc0508763231121273.png)
使用Windows标准控件我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。
在Visual C++中,可以使用的控件分成三类:(1) Windows标准控件Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。
所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。
Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。
表6.1 Windows标准控件控件 MFC类 描述动画 CAnimateCtrl 显示连续的AVI视频剪辑按钮 CButton 用来产生某种行为的按钮,以及复选框、单选钮和组框组合框 CComboBox 编辑框和列表框的组合编辑框 CEdit 用于键入文本标题头 CHeaderCtrl 位于某一行文本之上的按钮,可用来控制显示文件的宽度热键 CHotKeyCtrl 用于通过按下某一组合键来很快的执行某些常用的操作图象列表 CImageList 一系列图象(典型情况下是一系列图标或位图)的集合。
图象列表本身不是一种控件,它常常是和其它控件一起工作,为其它控件提供所用的图象列表 列表 CListCtrl 显示文本及其图标列表的窗口列表框 CListBox 包括一系列字符串的列表进度 CProgressCtrl 用于在一较长操作中提示用户所完成的进度多格式文本编辑 CRichEditCtrl 提供可设置字符和段落格式的文本编辑的窗口滚动条 CScrollBar 为对话框提供控件形式的滚动条滑块 CSliderCtrl 包括一个有可选标记的滑块的窗口旋转按钮 CSpinButtonCtrl提供一对可用于增减某个值的箭头静态文本 CStatic 常用于为其它控件提供标签状态条 CStatusBarCtrl 用于显示状态信息的窗口,同MFC类CStatusBar类似续表6.1 控件 MFC类 描述选项卡 CTabCtrl 在选项卡对话框或属性页中提供具有类似笔记本中使用的分隔标签的外观的选项卡工具条 CToolBarCtrl 具有一系列命令生成按钮的窗口,同MFC类CToolBar类似工具提示 CToolTipCtrl 一个小的弹出式窗口,用于提供对工具条按钮或其它控件功能的简单描述树 CTreeCtrl 用于显示一系列的项的继承结构前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。
实验八 MFC中的对话框及控件(二)
![实验八 MFC中的对话框及控件(二)](https://img.taocdn.com/s3/m/18abd531580216fc700afd33.png)
实验八MFC中的对话框及控件(二)实验目的掌握常用的控件使用方法以及基于对话框的应用程序的开发实验内容1、编辑框的使用2、选择按钮的使用3、下拉列表的使用4、按钮的使用5、基于对话框的应用程序开发一、编辑框的使用[实验步骤]1、新建一个MFC单文档项目;2、在资源选项卡中插入一个自己的对话框3、新建一个对话框模板4、在对话框中添加2个静态文本控件和2个编辑框控件。
注意这2个编辑框控件的ID5、通过Classwizzard添加数据成员。
在Classwizzard弹出的对话框中选择新建你这个对话框的类,取名叫“Cmydlg”,当然你也可以取其他名字选择成员变量选项卡,然后双击某个编辑框的ID,设置对应数据成员名字及类型。
6、在你的工程的view类的头部通过包含对话框类的头文件#include “mydlg.h”包含你所建的对话框类。
注意:如果你改了对话框类的名字,看看相应的项目里新增的那个类的头文件名7、在View类中增加2个变量CString myname;int myage;8、通过Classwizzard增加一个鼠标左键消息响应函数,并在函数中增加如下代码:void CT estView::OnLButtonDown(UINT nFlags, CPoint point){// TODO: Add your message handler code here and/or call defaultCmydlg dlg;if(dlg.DoModal()==IDOK){myname=dlg.m_name;myage=dlg.m_age;Inavalidate();}CView::OnLButtonDown(nFlags, point);}9、在OnDraw函数里增加如下显示内容的代码CString str;str.Format("我的姓名是%s",myname);pDC->TextOut(10,10,str);str.Format("我的年龄是%d",myage);pDC->TextOut(10,30,str);10、编译运行程序,在工作视图区点鼠标左键二、选择按钮的使用[实验步骤]1、新建一个MFC单文档项目;2、在资源选项卡中插入一个自己的对话框3、新建一个对话框模板4、在对话框中添加3个单选框控件。
MFC 环境下标准控件的使用方法
![MFC 环境下标准控件的使用方法](https://img.taocdn.com/s3/m/5515ed23aaea998fcc220ecf.png)
一、实验目的(1) 熟悉Visual C++ 6.0开发环境;(2) 掌握MFC 环境下标准控件的使用方法;(3) 熟练掌握在Visual C++ 6.0开发环境调试程序的方法。
二、实验内容创建如图所示的应用程序,在“形状”列表框中选择要绘制的图形,在“笔颜色”下拉列表框中选择画笔的颜色,在“刷子颜色”下拉列表框中选择画刷的颜色,在“线型”组框中选择画笔的线型,“填充类型”中选择画刷填充类型,单击“绘图”按钮在“绘图设置”编辑框中显示选择的绘图设置选项,单击“退出”按钮退出程序。
三、实验处理(1) 列表说明各个控件的属性设置;(2)列出控件功能的实现代码;1.在BOOL CMy7Dlg::OnInitDialog()中添加如下代码:【 1】CListBox *xz=(CListBox *)GetDlgItem(IDC_XINGZHUANG);xz->InsertString(-1,"Line");xz->InsertString(-1,"Circle");xz->InsertString(-1,"Rectangle");xz->InsertString(-1,"RoundRectangle");//在列表框中添加4个数据【 2】CheckRadioButton(IDC_RADIO1,IDC_RADIO4,IDC_RADIO1);CheckRadioButton(IDC_RADIO5,IDC_RADIO8,IDC_RADIO5); //初始化单选按钮【 3】 m_BiYanSe.AddString("Red");m_BiYanSe.AddString("Green");m_BiYanSe.AddString("Blue");m_BiYanSe.SelectString(-1,"Red");//在组合框1中添加3个笔颜色,并将红色选为默认值。
实验十 MFC下通用控件的简单应用
![实验十 MFC下通用控件的简单应用](https://img.taocdn.com/s3/m/582866ea551810a6f5248623.png)
(1)3个单选框的交互控制:3选1。
(2)4个复选框的交互控制:允许多选。
(3)下压按钮的互锁控制:任一时刻只有一个按钮有效。
(4)在静态文本框中实时显示用户对单选框和复选框的选择。
(5)初始化设置:程序启动时,单选框默认选择第2项(1G),且“重新选择”按钮无效,静态文本框中显示为空。
break;
case 2://该组第三个单选项被选中
GetDlgItemText(IDC_RADIO3,str);
m_show = m_show + str;
break;
}
if (m_check1.GetCheck()==1)//复选框1被选中
{
GetDlgItemText(IDC_CHECK1,str);
GetDlgItem(ID_RESET)->EnableWindow(true);//重新选择有效
GetDlgItem(ID_CHECKIN)->EnableWindow(false);//提交按钮无效
UpdateData(true);
m_show="内存: ";//保存输出消息字符串
CString str;
}
m_radio=1;//单选框的默认值
m_check1.SetCheck(0);//复选框1不选中
m_check2.SetCheck(0);//复选框2不选中
m_check3.SetCheck(0);//复选框3不选中
m_check4.SetCheck(0);//复选框4不选中
m_show="";
UpdateData(false);
void CTest10Dlg::OnReset()
MFC_基本控件使用
![MFC_基本控件使用](https://img.taocdn.com/s3/m/ed93296fb5daa58da0116c175f0e7cd1842518a1.png)
MFC_基本控件使用MFC(Microsoft Foundation Classes)是一个用于基于 Windows 的应用程序开发的C++类库。
它提供了一套基本控件,使开发人员可以轻松地创建 Windows 应用程序的用户界面。
MFC提供了多种基本控件,用于显示和输入数据、与用户交互。
以下是一些最常见的基本控件及其用法:1. Button(按钮)控件Button 控件用于触发特定的操作或执行特定的功能。
创建 Button 控件的方法如下:```CButton myButton;myButton.Create("Click Me", WS_CHILD , WS_VISIBLE ,BS_PUSHBUTTON, CRect(10, 10, 100, 30), pParentWnd, ID_MYBUTTON);```其中,"Click Me" 是按钮的显示文本,WS_CHILD , WS_VISIBLE ,BS_PUSHBUTTON 是按钮的样式。
CRect(10, 10, 100, 30) 是按钮的大小和位置,pParentWnd 是按钮的父窗口,ID_MYBUTTON 是按钮的标识符。
Edit Control 控件用于接收用户输入的文本数据。
创建 Edit Control 控件的方法如下:```CEdit myEdit;myEdit.Create(WS_CHILD , WS_VISIBLE , WS_BORDER, CRect(10, 50, 300, 70), pParentWnd, ID_MYEDIT);```3. List Box(列表框)控件List Box 控件用于显示一个垂直列表,可以包含多个项。
创建 List Box 控件的方法如下:```CListBox myList;myList.Create(WS_CHILD , WS_VISIBLE , WS_BORDER ,LBS_NOTIFY, CRect(10, 90, 200, 200), pParentWnd, ID_MYLIST);```其中,WS_CHILD , WS_VISIBLE , WS_BORDER , LBS_NOTIFY 是列表框的样式。
mfc clistctrl 使用
![mfc clistctrl 使用](https://img.taocdn.com/s3/m/ad1662e2f424ccbff121dd36a32d7375a417c602.png)
mfc clistctrl 使用MFC(Microsoft Foundation Classes)是一套由Microsoft开发的C++类库,用于快速开发Windows应用程序。
CListCtrl是MFC中的一个常用控件,用于展示列表数据。
本文将介绍如何使用MFC的CListCtrl来展示和操作数据列表。
一、CListCtrl的基本使用在使用MFC的CListCtrl之前,需要先在Dlg中添加一个CListCtrl 控件。
可以通过拖拽的方式将其添加到Dlg,并设置好控件的相关属性(如ID、位置、大小等)。
在初始化过程中,需要对CListCtrl进行一些基本设置。
可以通过以下代码实现:```cpp// 声明一个指针指向CListCtrl对象CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST1);// 设置CListCtrl的风格pListCtrl->SetExtendedStyle(LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES);// 添加表头pListCtrl->InsertColumn(0, _T("列名称1"), LVCFMT_LEFT, 150);pListCtrl->InsertColumn(1, _T("列名称2"), LVCFMT_LEFT, 150);pListCtrl->InsertColumn(2, _T("列名称3"), LVCFMT_LEFT, 150);```通过上述代码,我们完成了CListCtrl的基本设置,包括设置风格、添加表头等。
二、添加数据接下来,我们需要向CListCtrl中添加数据。
可以通过以下代码实现:```cpp// 添加第一行数据pListCtrl->InsertItem(0, _T("数据1"));pListCtrl->SetItemText(0, 1, _T("数据2"));pListCtrl->SetItemText(0, 2, _T("数据3"));// 添加第二行数据pListCtrl->InsertItem(1, _T("数据4"));pListCtrl->SetItemText(1, 1, _T("数据5"));pListCtrl->SetItemText(1, 2, _T("数据6"));```通过上述代码,我们在CListCtrl中成功添加了两行数据。
MFC常用控件使用
![MFC常用控件使用](https://img.taocdn.com/s3/m/8a00eb37773231126edb6f1aff00bed5b8f3735f.png)
MFC常用控件使用MFC(Microsoft Foundation Classes)是一个用于Windows平台的C++类库,用于开发基于Windows的图形用户界面应用程序。
MFC提供了许多常用的控件,开发人员可以使用这些控件来构建各种类型的Windows应用程序。
下面是一些常用的MFC控件和它们的使用方法:1. Button控件:Button控件用于创建按钮。
创建Button控件的方法是通过调用CButton类的Create函数,指定按钮的风格、位置和大小等参数。
之后,可以使用CButton类的成员函数来设置按钮的文本、图片和事件处理程序等。
3. List Box控件:List Box控件用于创建列表框,用于显示列表项。
创建List Box控件的方法是通过调用CListBox类的Create函数,指定列表框的风格、位置和大小等参数。
之后,可以使用CListBox类的成员函数来添加、删除和获取列表项等。
5. Static控件:Static控件用于显示静态文本。
创建Static控件的方法是通过调用CStatic类的Create函数,指定静态文本的风格、位置和大小等参数。
之后,可以使用CStatic类的成员函数来设置静态文本的内容、字体和颜色等。
6. Slider控件:Slider控件用于创建滑动条。
创建Slider控件的方法是通过调用CSliderCtrl类的Create函数,指定滑动条的风格、位置和大小等参数。
之后,可以使用CSliderCtrl类的成员函数来设置滑动条的范围、当前位置和事件处理程序等。
7. Progress控件:Progress控件用于显示进度条。
创建Progress 控件的方法是通过调用CProgressCtrl类的Create函数,指定进度条的风格、位置和大小等参数。
之后,可以使用CProgressCtrl类的成员函数来设置进度条的范围、当前位置和事件处理程序等。
8. Tree Control控件:Tree Control控件用于显示树形结构。
MFC_基本控件使用
![MFC_基本控件使用](https://img.taocdn.com/s3/m/37f19c09bb68a98271fefa14.png)
分组框
6
CButton 类的成 员函数
GetCheck() SetCheck() GetButtonStyle() SetButtonStyle() GetState() SetState() CheckDlgButton CheckRadioButton GetCheckedRadioButton Is DlgButtonChecked GetWindowTex GetWindowTextLength SetWindowText 7
方法 EnableScrollBar() GetScrollInfo() GetScrollLimit() GetScrollPos() GetScrollRange() SetScrollInfo() SetScrollPos() SetScrollRange() ShowScrollBar() CScrollBar 类的方法 说明 使滚动条的一个或两个箭头有效或无效 获得滚动条的消息 获得滚动条的范围 获得滚动条当前的位置 获得制定滚动条的当前最大和最小滚动位置 设置滚动条的消息 设置滚动块当前的位置 设置制定滚动条的最大和最小滚动位置 14 显示或隐藏滚动条
24
case SB_PAGEUP: //单击箭头与滚块之间的区域 iNowPos=m_Scrollbar.GetScrollPos(); iNowPos=iNowPos-3; if(iNowPos<0) iNowPos=0; m_Scrollbar.SetScrollPos(iNowPos); itoa(m_Scrollbar.GetScrollPos(),sPos,10); m_Edit.SetSel(0,-1); m_Edit.ReplaceSel(sPos); break; } } 25 CDialog::OnVScroll(nSBCode, nPos, pScrollBar); }
MFC通用控件使用详解
![MFC通用控件使用详解](https://img.taocdn.com/s3/m/b497fb3930b765ce0508763231126edb6f1a7697.png)
MFC通用控件使用详解MFC(Microsoft Foundation Classes)是微软提供的一套用于开发Windows应用程序的C++类库,其中包括了许多常用的控件类,称为MFC通用控件。
本文将详细介绍MFC通用控件的使用。
例如,要使用按钮控件,首先需要在对话框资源中添加一个按钮控件,然后在对话框类的头文件中声明一个按钮变量:```cppCButton m_btnOK;```接下来,在对话框的OnInitDialog(函数中,使用DDX_Control函数将按钮资源和按钮变量关联起来:```cppDDX_Control(pDX, IDOK, m_btnOK);```现在,就可以通过按钮变量来操作按钮控件了。
可以使用按钮变量的EnableWindow(函数来启用或禁用按钮,使用SetWindowText(函数来设置按钮文本,使用GetCheck(函数来获取按钮的选中状态等等。
除了上述通用控件类,MFC还提供了专用的控件类,用于创建自定义的控件。
通过继承这些类,并重写相应的虚函数,可以创建具有自定义样式和功能的控件。
例如,通过继承CButton类,可以创建一个具有不同外观和动画效果的自定义按钮。
在使用MFC通用控件时,还需要注意以下几点。
首先,要注意控件的相对位置和大小,以便能够正确地布局和对齐。
其次,要使用合适的控件样式和扩展样式,以满足特定的需求。
例如,可以使用BS_RADIOBUTTON样式来创建单选按钮,使用LBS_MULTIPLESEL样式来创建多选列表框等等。
最后,要注意处理控件的消息和事件,以便能够及时响应用户的操作。
mfc实验报告
![mfc实验报告](https://img.taocdn.com/s3/m/33fc533b1611cc7931b765ce050876323012747d.png)
mfc实验报告MFC实验报告引言:MFC(Microsoft Foundation Classes)是一种用于开发Windows应用程序的C++类库,它提供了一套丰富的类和函数,使开发者能够更加方便地创建图形界面、处理用户输入和输出、管理窗口等。
本实验旨在通过使用MFC库来开发一个简单的图形界面应用程序,以展示MFC的基本功能和使用方法。
一、实验准备在开始实验之前,我们需要安装Visual Studio软件,该软件集成了MFC库。
通过Visual Studio,我们可以轻松创建一个MFC项目,并使用其中的工具和组件来开发我们的应用程序。
二、创建MFC项目1. 打开Visual Studio软件,选择“创建新项目”。
2. 在弹出的对话框中,选择“Visual C++” -> “MFC” -> “MFC应用程序”。
3. 输入项目名称和保存路径,点击“确定”按钮。
4. 在下一个对话框中,选择“单文档”或“多文档”应用程序,根据需要进行选择。
5. 点击“完成”按钮,Visual Studio将自动生成一个基本的MFC应用程序框架。
三、设计图形界面MFC提供了丰富的工具和组件,使我们能够轻松地设计出漂亮的图形界面。
在本实验中,我们将创建一个简单的计算器应用程序作为示例。
1. 在Visual Studio的资源视图中,找到“Dialog”文件夹,双击打开“MainDialog”对话框。
2. 在对话框上拖拽和调整按钮、文本框等控件,设计出计算器的布局。
3. 双击每个按钮控件,添加相应的点击事件处理函数,实现计算器的功能逻辑。
四、添加功能逻辑1. 在Visual Studio的“类视图”中,找到“MainDialog”类,双击打开对应的源文件。
2. 在源文件中,找到“BEGIN_MESSAGE_MAP”和“END_MESSAGE_MAP”之间的区域,在其中添加按钮点击事件的处理函数。
3. 在处理函数中,根据按钮的功能,编写相应的逻辑代码。
MFC控件使用说明
![MFC控件使用说明](https://img.taocdn.com/s3/m/525a41a9b9f67c1cfad6195f312b3169a451eaa2.png)
MFC控件使用说明MFC(Microsoft Foundation Class)是一套面向C++开发的框架,用于快速开发图形用户界面(GUI)应用程序。
MFC提供了一套丰富的控件(Controls),用于实现各种功能和交互效果。
本文将介绍一些常用的MFC控件的使用说明。
1. Button 控件:Button控件用于显示一个按钮,用户点击按钮时会触发相应的事件处理函数。
使用方式如下:-在对话框资源中添加一个按钮控件,并为其设置ID号。
- 在对话框类的变量中声明按钮控件的成员变量,使用CButton类型。
- 在OnInitDialog函数中使用GetDlgItem函数获取按钮控件的指针,并使用它调用相应的函数,如SetWindowText设置按钮的文本内容。
3. List Box 控件:List Box控件用于显示一个列表,用户可以选择其中的项。
使用方式如下:-在对话框资源中添加一个列表框控件,并为其设置ID号。
- 在对话框类的变量中声明列表框控件的成员变量,使用CListBox类型。
- 在OnInitDialog函数中使用GetDlgItem函数获取列表框控件的指针,并使用它调用相应的函数,如AddString添加项,SetCurSel设置选中项。
-在对话框资源中添加一个组合框控件,并为其设置ID号。
- 在OnInitDialog函数中使用GetDlgItem函数获取组合框控件的指针,并使用它调用相应的函数,如AddString添加项,SetCurSel设置选中项。
5. Check Box 控件:Check Box控件用于显示一个复选框,用户可以选中或取消选中。
-在对话框资源中添加一个复选框控件,并为其设置ID号。
- 在对话框类的变量中声明复选框控件的成员变量,使用CButton类型。
- 在OnInitDialog函数中使用GetDlgItem函数获取复选框控件的指针,并使用它调用相应的函数,如SetCheck设置选中状态。
mfc列表框控件的使用
![mfc列表框控件的使用](https://img.taocdn.com/s3/m/482954124a73f242336c1eb91a37f111f1850ddf.png)
MFC列表框控件的使用1. 介绍MFC(Microsoft Foundation Classes)是微软公司提供的一套用于开发Windows 桌面应用程序的C++类库。
MFC列表框控件是其中的一种常用控件,它可以用来显示和编辑列表中的项。
在本文中,我们将学习如何使用MFC列表框控件来创建、显示和操作列表中的数据项。
2. 创建列表框控件首先,我们需要在对话框资源中添加一个列表框控件。
打开Visual Studio,创建一个新的MFC应用程序项目,并选择对话框作为应用程序类型。
然后,在资源视图中双击IDD_DIALOG1以打开对话框编辑器。
在工具箱中找到列表框控件(List Box),并将其拖放到对话框上。
3. 设置属性选中刚刚添加的列表框控件,在属性窗口中可以设置其各种属性。
3.1 样式(Style)样式属性定义了列表框的外观和行为。
常见的样式包括:•单选(Single):只能选择一个项。
•多选(Multiple):可以选择多个项。
•排列(Sort):自动按字母顺序排序。
•水平滚动条(Horizontal Scrollbar):显示水平滚动条。
•垂直滚动条(Vertical Scrollbar):显示垂直滚动条。
3.2 数据源(Data)数据源属性定义了列表框中显示的数据项。
可以通过以下几种方式设置数据源:•字符串数组(String Array):将一个字符串数组赋给列表框。
•整数数组(Integer Array):将一个整数数组赋给列表框,每个整数对应一个数据项。
•数据库记录集(Database Recordset):将数据库查询结果赋给列表框。
3.3 绑定变量(Bound Variable)绑定变量属性定义了与列表框关联的变量。
当用户选择某个项时,该变量会被更新。
可以使用以下几种类型的变量:•字符串变量(String Variable):保存选中项的文本。
•整数变量(Integer Variable):保存选中项的索引。
MFC控件使用说明
![MFC控件使用说明](https://img.taocdn.com/s3/m/0e0d2942a36925c52cc58bd63186bceb19e8eda3.png)
MFC控件使用说明MFC(Microsoft Foundation Classes)是一套C++的类库,用于开发Windows应用程序。
MFC提供了丰富的控件(control)来实现图形界面(GUI)。
下面是MFC控件的使用说明。
1.控件概述:2.控件的创建:在MFC应用程序的对话框资源中可以选择并拖拽控件到界面上。
MFC 提供了DIALOG控件类表示对话框,并通过类向导(Class Wizard)自动生成控件的成员变量。
3.控件的属性和事件:每个控件都有一些属性,如字体、颜色、大小等,可以通过修改这些属性来改变控件的外观。
每个控件也都有一些事件,如鼠标点击、按键按下等,可以通过响应这些事件来处理用户的操作。
4.控件的操作:MFC提供了一系列的成员函数来操作控件,如设置文本、获取选择的项、显示隐藏控件等。
可以通过控件的成员变量来调用这些函数。
5.控件的布局和对齐:在对话框资源中可以使用布局与对齐工具来自动排列和对齐控件。
也可以通过代码来动态调整控件的位置和大小。
6.控件的自定义:如果MFC提供的控件不能满足需求,可以继承自原有控件类,并重写其成员函数来实现自定义的控件。
7.控件的扩展库:除了MFC提供的控件,还可以使用第三方控件库来增加更多的控件。
常见的控件库有DevExpress、Telerik等,提供了更丰富的控件和功能。
8.控件的样式和外观:9.控件的国际化和本地化:MFC提供了多语言支持,可以使用资源文件来实现对不同语言的支持。
通过在资源文件中提供不同语言的字符串,可以使控件显示适合不同语言环境的文本。
10.控件的错误处理:在使用MFC控件时,可能会出现一些错误,如控件无法创建、控件响应事件失败等。
可以通过正确处理这些错误,如捕获异常、输出错误信息等来保证程序的稳定性和可靠性。
总结:MFC控件提供了丰富的功能和灵活的扩展方式,可以满足大部分GUI应用程序的需求。
通过掌握MFC控件的使用,可以快速开发出功能强大、界面友好的Windows应用程序。
MFC控件使用详细教程
![MFC控件使用详细教程](https://img.taocdn.com/s3/m/1367781f302b3169a45177232f60ddccda38e6a3.png)
MFC控件使用详细教程MFC(Microsoft Foundation Classes)是微软公司开发的一套面向对象的C++类库,旨在简化Windows应用程序的开发。
其中包括了一系列的控件类,用于构建Windows用户界面。
本文将介绍MFC控件的使用,并提供详细的教程。
1.创建MFC应用程序首先,打开Visual Studio开发环境,选择创建MFC应用程序项目。
在项目向导中,选择“对话框”应用程序类型。
2.添加控件到对话框在MFC应用程序中,用户界面的主要组成部分是对话框。
打开对话框资源文件(通常是一个名为“MainDlg”的文件),可以看到空白的对话框。
从工具箱中选择所需的控件,例如按钮(Button)、文本框(Edit Control)等。
点击工具箱中的控件,然后在对话框上绘制一个矩形,即可在对话框中添加该控件。
3.设置控件属性选中添加的控件,可以在“属性”窗口中设置其属性。
例如,可以设置按钮的文本、大小、位置等。
4.响应控件事件控件可以触发各种事件,例如按钮点击事件。
为了响应这些事件,我们需要添加相应的事件处理程序。
在资源视图中,右键点击对话框资源文件,选择“添加事件处理程序”。
然后,选择要响应的事件,例如按钮的点击事件。
在出现的对话框中,输入事件处理程序的名称,并选择成员变量的名称。
点击“确定”后,Visual Studio会自动生成事件处理程序的代码。
5.控件的常用操作- 设置控件的文本:使用SetWindowText函数,例如SetWindowText("Hello");- 获取控件的文本:使用GetWindowText函数,例如CString str; GetWindowText(str);- 启用或禁用控件:使用EnableWindow函数,例如EnableWindow(FALSE)可以禁用控件;- 显示或隐藏控件:使用ShowWindow函数,例如ShowWindow(SW_HIDE)可以隐藏控件;- 设置或获取控件的位置、大小:使用SetWindowPos和GetWindowRect函数,例如SetWindowPos(NULL, x, y, width, height)可以设置控件的位置和大小;- 样式和外观设置:使用ModifyStyle和SetWindowLong函数,例如在按钮上设置图标和文字风格。
实验七 MFC 控件编程实验
![实验七 MFC 控件编程实验](https://img.taocdn.com/s3/m/ff676f7aa26925c52cc5bfe5.png)
实验七 MFC 控件编程实验一、实验目的(1) 熟悉Visual C++ 6.0 开发环境;(2) 掌握MFC 环境下标准控件的使用方法;(3) 熟练掌握在Visual C++ 6.0 开发环境调试程序的方法。
二、实验内容创建如图所示的应用程序,在“形状”列表框中选择要绘制的图形,在“笔颜色”下拉列表框中选择画笔的颜色,在“刷子颜色”下拉列表框中选择画刷的颜色,在“线型”组框中选择画笔的线型,在“填充类型”中选择画刷填充类型,单击“绘图”按钮在“绘图设置”编辑框中显示选择的绘图设置选项,单击“退出”按钮退出程序。
三、程序代码// testDlg.cpp : implementation file//#include "stdafx.h"#include "test.h"#include "testDlg.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif// CAboutDlg dialog used for App AboutclassCAboutDlg : public CDialog{public:CAboutDlg();// Dialog Data//{{AFX_DATA(CAboutDlg)enum { IDD = IDD_ABOUTBOX };//}}AFX_DATA// ClassWizard generated virtual function overrides//{{AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL// Implementationprotected://{{AFX_MSG(CAboutDlg)//}}AFX_MSGDECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD){//{{AFX_DATA_INIT(CAboutDlg)//}}AFX_DATA_INIT}voidCAboutDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CAboutDlg)//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)//{{AFX_MSG_MAP(CAboutDlg)// No message handlers//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CTestDlg dialogCTestDlg::CTestDlg(CWnd* pParent /*=NULL*/): CDialog(CTestDlg::IDD, pParent){//{{AFX_DATA_INIT(CTestDlg)m_pen = -1;m_brush = -1;m_Output = _T("");//}}AFX_DATA_INIT// Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}voidCTestDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CTestDlg)DDX_Control(pDX, IDC_LIST1, m_list);DDX_Control(pDX, IDC_COMBO2, m_cb2);DDX_Control(pDX, IDC_COMBO1, m_cb1);DDX_Radio(pDX, IDC_RADIO1, m_pen);DDX_Radio(pDX, IDC_RADIO5, m_brush);DDX_Text(pDX, IDC_OUTPUT, m_Output);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CTestDlg, CDialog)//{{AFX_MSG_MAP(CTestDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_EN_CHANGE(IDC_OUTPUT, OnChangeOutput)ON_BN_CLICKED(IDC_BUTTON1, OnButton1)ON_LBN_SELCHANGE(IDC_LIST1, OnSelchangeList1)ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)ON_CBN_SELCHANGE(IDC_COMBO2, OnSelchangeCombo2)ON_CBN_EDITCHANGE(IDC_COMBO2, OnSelchangeCombo2)//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CTestDlg message handlersBOOL CTestDlg::OnInitDialog()CDialog::OnInitDialog();// Add "About..." menu item to system menu.// IDM_ABOUTBOX must be in the system command range.ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){CStringstrAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);}}// Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialogSetIcon(m_hIcon, TRUE); // Set big iconSetIcon(m_hIcon, FALSE); // Set small icon// TODO: Add extra initialization herem_list.AddString("Line");m_list.AddString("Circle");m_list.AddString("Rectangle");m_list.AddString("RoundRectangle");m_cb1.AddString("Red");m_cb1.AddString("Blue");m_cb1.AddString("Black");return TRUE; // return TRUE unless you set the focus to a control }voidCTestDlg::OnSysCommand(UINT nID, LPARAM lParam){if ((nID& 0xFFF0) == IDM_ABOUTBOX){CAboutDlgdlgAbout;dlgAbout.DoModal();}else{CDialog::OnSysCommand(nID, lParam);}}// If you add a minimize button to your dialog, you will need the code below// to draw the icon. For MFC applications using the document/view model,// this is automatically done for you by the framework.voidCTestDlg::OnPaint(){if (IsIconic()){CPaintDCdc(this); // device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);// Center icon in client rectangleintcxIcon = GetSystemMetrics(SM_CXICON);intcyIcon = GetSystemMetrics(SM_CYICON);CRectrect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;// Draw the icondc.DrawIcon(x, y, m_hIcon);}else{CDialog::OnPaint();}}// The system calls this to obtain the cursor to display while the user drags// the minimized window.HCURSOR CTestDlg::OnQueryDragIcon(){return (HCURSOR) m_hIcon;}voidCTestDlg::OnChangeOutput(){// TODO: If this is a RICHEDIT control, the control will not// send this notification unless you override the CDialog::OnInitDialog() // function and call CRichEditCtrl().SetEventMask()// with the ENM_CHANGE flag ORed into the mask.// TODO: Add your control notification handler code here}CString msg1;CString msg2;CString msg3;voidCTestDlg::OnSelchangeList1(){// TODO: Add your control notification handler code herem_list.GetText(m_list.GetCurSel(),msg1);}voidCTestDlg::OnSelchangeCombo1(){// TODO: Add your control notification handler code herem_cb1.GetLBText(m_cb1.GetCurSel(),msg2);}voidCTestDlg::OnSelchangeCombo2(){// TODO: Add your control notification handler code herem_cb2.GetLBText(m_cb2.GetCurSel(),msg3);}voidCTestDlg::OnButton1(){// TODO: Add your control notification handler code hereUpdateData(TRUE); // DDX:界面控件的值传给内部变量m_Output="形状:";m_Output+=msg1;m_Output+=" 笔颜色:";m_Output+=msg2;m_Output+=" 刷子颜色:";m_Output+=msg3;m_Output += " 线型:";switch(m_pen){case 0:m_Output += "Solid";break;case 1:m_Output += "Dash";break;case 2:m_Output += "Dot";break;case 3:m_Output += "DashDot";break;}m_Output += " 填充类型:";switch(m_brush){case 0:m_Output += "SolidBrush";break;case 1:m_Output += "Cross";break;case 2:m_Output += "FDiagonal";break;case 3:m_Output += "BDiagonal";break;}UpdateData(FALSE); // DDX:内部变量的值传给界面控件}四、运行结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、实验名称:MFC基本控件的使用2、实验目的:掌握编辑框类及其方法,熟练掌握利用编辑框类开发基于MFC的应用程序的方法。
3、实验内容:使用MFC AppWizard创建如图一所示的基于对话窗的应用程序,实现算术加、减、乘和除运算。
图一4、程序实现方法:(1)使用AppWizard建立应用程序框架①在进入Visual C++ 6.0的第一个界面下,选择MFC AppWizard(exe),在Project name 文本输入框中输入新建的项目名称“计数器”,并设置其所在位置,单击OK按钮,如图二所示。
图二Visual C++ 6.0的第一个界面②在MFC AppWizard的第一步中选择基本对话,如图三所示,其余的都采用默认选项。
图三MFC AppWizard的第一步界面这样就建立了一个基于对话框的程序,如图四所示。
图四基于对话框的界面(2)利用资源编辑器建立对话框在图四的Resource View选项卡中打开Dialog资源组,本程序的工程文件名为计数器,因此,系统自动产生一个名为IDD_MY_DIALOG的资源文件,双击IDD_ MY_DIALOG,在右边的窗口中显示出待编辑的对话框。
根据如图一所示的样式,利用Visual C++ 6.0的控键(Controls)建立对话框。
下面以“数据1”编辑框和“+”按钮为例介绍控件的创建过程,其他编辑框和按钮的创建可参照此操作:①在图四中Controls的“编辑框”按钮上单击鼠标左键、在如图一所示的对话框编辑窗口上的“数据1”编辑框的位置上,按下鼠标左键,并拖动鼠标画出一个大小合适的编辑框。
在编辑框上单击鼠标右键,在弹出的快捷莱单中选择Properties选项,此时弹出Edit Properties 属性设置对话框,如图五所示,在该对话框中输入ID属性。
图五Edit Properties对话框②在图四中Controls的“按钮”按钮上单击鼠标左键,在图一的“+”按钮的位置上,按下鼠标左键并拖动鼠标画出一个大小合适的下压式按钮。
在按钮上单击鼠标右键,在弹出的快捷菜单中选择Properties项,此时也弹出Push Button Properties对话框,如图六所示,在该对话框中输入控件的ID值和Caption属住。
图六Push Button Properties对话框按照上面的操作过程编辑其他按钮和编辑框等对象的属性。
对象ID Caption或说明编辑框IDC_ITEM1_EDIT 计算数据1编辑框IDC_ITEM2_EDIT 计算数据2编辑框IDC_RESULT_EDIT 计算结果按钮IDC_ADD_BUTTON +按钮IDC_DIFFERENCE_BUTTON -按钮IDC_MULTIPLY_BUTTON *按钮IDC_DEVIDE_BUTTON /按钮IDC_CLEAR_BUTTON Clear(清除)按钮IDC_EXIT_BUTTON Exit(退出)静态文本IDC_STATIC 数据1静态文本IDC_STATIC 数据2静态文本IDC_STATIC 结果(3)添加代码①给编辑框连接变量:在“数据l”编辑框上单击鼠标右键,在图四所示的快捷菜单中选择ClassWizard菜单项,弹出MFC ClassWizard对话框,选择Member Variables选项卡,如图七所示。
在Control IDs列表框中选中IDC_ITEM1_EDIT,单击Add Variables按钮,在弹出的对话框中(如图八所示)连接变量m_Item1_Edit。
按照上面的操作过程给另两个编辑框加入变量,如下所示:图七MFC ClassWizard对话框中Member Variables选项卡图八编辑框连接变量对话框ID 变量变量类型IDC_ITEM1_EDIT m_Item1_Edit CEditIDC_ITEM2_EDIT m_Item2_Edit CEditIDC_RESULT_EDIT m_Result_Edit Cstring②给“+”按钮连接代码:在“+”按钮上单击鼠标右键,选择ClassWizard菜单项,在弹出的对话框中选择Messages Maps选项卡,在Object IDs列表框中选择IDC_ADD_BUTTON,在Messages 列表框中选择BN_CLICKED项,即选择单击按钮事件,如图九所示。
图九“+”按钮连接代码对话框单击右边的Add Function按钮,在弹出的对话框中接受默认的名字。
单击Edit Code 按钮,此时显示源代码文件,在函数OnAddButton()函数中输入下列代码:void CMyDlg::OnAddButton(){// TODO: Add your control notification handler code herechar cstrItem1[10],cstrItem2[10]; //变量定义。
double dfItem1,dfItem2,dfResult;char cBuffer[50];m_Item1_Edit.GetWindowText(cstrItem1,10);m_Item2_Edit.GetWindowText(cstrItem2,10);dfItem1=atof((LPCTSTR)cstrItem1);dfItem2=atof((LPCTSTR)cstrItem2);dfResult=dfItem1+dfItem2; //加法实现。
_gcvt(dfResult,10,cBuffer);m_Result_Edit=(LPCTSTR)cBuffer;UpdateData(FALSE);}定义两个字符串cstrltern1和cstrltem2,调用函数GetWindowText()将编辑框中的内容存储到这两个变量中。
调用函数atof将字符串转换为浮点数。
数据1和数据2相加后放入dfResult,然后调用函数_gcvt将结果转化为字符串存储在cBuffer中,最后调用函数UpdateData (FALSE)将窗口中所有编辑框的内容更新。
③同样可以给“-”、“*”和“/”按钮连接代码,不同的是消息映像函数中执行减、乘和除的操作。
“-”的操作代码如下:void CMyDlg::OnDifferenceButton(){// TODO: Add your control notification handler code herechar cstrItem1[10],cstrItem2[10]; //变量定义。
double dfItem1,dfItem2,dfResult;char cBuffer[50];m_Item1_Edit.GetWindowText(cstrItem1,10);m_Item2_Edit.GetWindowText(cstrItem2,10);dfItem1=atof((LPCTSTR)cstrItem1);dfItem2=atof((LPCTSTR)cstrItem2);dfResult=dfItem1-dfItem2; //减法实现。
_gcvt(dfResult,10,cBuffer);m_Result_Edit=(LPCTSTR)cBuffer;UpdateData(FALSE);}“*”的操作代码如下:void CMyDlg::OnMultiplyButton(){// TODO: Add your control notification handler code herechar cstrItem1[10],cstrItem2[10]; //变量定义。
double dfItem1,dfItem2,dfResult;char cBuffer[50];m_Item1_Edit.GetWindowText(cstrItem1,10);m_Item2_Edit.GetWindowText(cstrItem2,10);dfItem1=atof((LPCTSTR)cstrItem1);dfItem2=atof((LPCTSTR)cstrItem2);dfResult=dfItem1*dfItem2; //乘法实现。
_gcvt(dfResult,10,cBuffer);m_Result_Edit=(LPCTSTR)cBuffer;UpdateData(FALSE);}“/”的操作代码如下:void CMyDlg::OnDevideButton(){// TODO: Add your control notification handler code herechar cstrItem1[10],cstrItem2[10]; //变量定义。
double dfItem1,dfItem2,dfResult;char cBuffer[50];m_Item1_Edit.GetWindowText(cstrItem1,10);m_Item2_Edit.GetWindowText(cstrItem2,10);dfItem1=atof((LPCTSTR)cstrItem1);dfItem2=atof((LPCTSTR)cstrItem2);dfResult=dfItem1/dfItem2; //除法实现。
_gcvt(dfResult,10,cBuffer);m_Result_Edit=(LPCTSTR)cBuffer;UpdateData(FALSE);}④给“Clear”按钮连接代码:利用ClassWizard将按钮消息BN_CLICKED加到函数OnClearButton中,加入下列代码:void CMyDlg::OnClearButton(){// TODO: Add your control notification handler code herem_Item1_Edit.SetSel(0,-1);m_Item1_Edit.ReplaceSel(" ");m_Item2_Edit.SetSel(0,-1);m_Item2_Edit.ReplaceSel(" ");m_Result_Edit=" "; //编辑框清空实现。
UpdateData(FALSE);}⑤同理,利用ClassWizard给“Exit”按钮连接下列代码:void CMyDlg::OnExitButton(){// TODO: Add your control notification handler code hereOnOK(); //退出。
}最后编译运行此项目,即可以实现加、减、乘和除运算5、程序说明:(1)、三个编辑框,用来输入操作数和输出计算结果。