实验名称MFC基本控件的使用

合集下载

MFC_基本控件使用

MFC_基本控件使用

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通用控件使用详解

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控件使用详细教程

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常用控件使用

使用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中的对话框及控件(二)

实验八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  环境下标准控件的使用方法

一、实验目的(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下通用控件的简单应用
图10-1、程序运行界面图
(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_基本控件使用

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 是列表框的样式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)、三个编辑框,用来输入操作数和输出计算结果。

相关文档
最新文档