当前位置:文档之家› 实验八 MFC中的对话框及控件(二)

实验八 MFC中的对话框及控件(二)

实验八MFC中的对话框及控件(二)

实验目的

掌握常用的控件使用方法以及基于对话框的应用程序的开发

实验内容

1、编辑框的使用

2、选择按钮的使用

3、下拉列表的使用

4、按钮的使用

5、基于对话框的应用程序开发

一、编辑框的使用

[实验步骤]

1、新建一个MFC单文档项目;

2、在资源选项卡中插入一个自己的对话框

3、新建一个对话框模板

4、在对话框中添加2个静态文本控件和2个编辑框控件。注意这2个编辑框控件的ID

5、通过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 default

Cmydlg 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个单选框控件。并设置第一个单选控件的属性为组Groop

5、通过Classwizzard添加数据成员。在Classwizzard弹出的对话框中选择新建你这个对话框的类,取名叫“Cmydlg”,当然你也可以取其他名字

选择成员变量选项卡,然后双击单选按钮的ID,设置对应数据成员名字及类型。

6、在你的工程的view类的头部通过包含对话框类的头文件

#include “mydlg.h”

包含你所建的对话框类。

注意:如果你改了对话框类的名字,看看相应的项目里新增的那个类的头文件名

7、在View类中增加变量

int mysex;

8、通过Classwizzard增加一个鼠标左键消息响应函数,并在函数中增加如下代码:

void CT estView::OnLButtonDown(UINT nFlags, CPoint point)

{

// TODO: Add your message handler code here and/or call default

Cmydlg dlg;

if(dlg.DoModal()==IDOK)

{

mysex=dlg.m_sex;

}

Invalidate();

CView::OnLButtonDown(nFlags, point);

}

9、在OnDraw函数里增加如下显示内容的代码

if(mysex==0)

pDC->TextOut(10,10,"看太阳");

else if (mysex==1)

pDC->TextOut(10,10,"看月亮");

else

pDC->TextOut(10,10,"看星星");

10、编译运行程序,在工作视图区点鼠标左键

三、下拉列表框的使用

[实验步骤]

1、新建一个MFC单文档项目;

2、在资源选项卡中插入一个自己的对话框

3、新建一个对话框模板

4、在对话框中添加一个组合框,注意其ID。

将组合框的下边往下拉宽些,以便容纳数据,设置属性中的样式为“下拉”,将“分类”前的勾去掉,

在数据栏里输入如下数据,输的时候通过CTRL+ENTER换行

5、通过Classwizzard添加数据成员。在Classwizzard弹出的对话框中选择新建你这个对话框的类,取名叫“Cmydlg”,当然你也可以取其他名字

选择成员变量选项卡,然后双击下拉框的ID,设置对应数据成员名字及类型。

6、在你的工程的view类的头部通过包含对话框类的头文件

#include “mydlg.h”

包含你所建的对话框类。

注意:如果你改了对话框类的名字,看看相应的项目里新增的那个类的头文件名

7、在View类中增加变量

CString mydate;

8、通过Classwizzard增加一个鼠标左键消息响应函数,并在函数中增加如下代码:

void CT estView::OnLButtonDown(UINT nFlags, CPoint point)

{

// TODO: Add your message handler code here and/or call default

Cmydlg dlg;

if(dlg.DoModal()==IDOK)

{

mydate=dlg.m_date;

}

Invalidate();

CView::OnLButtonDown(nFlags, point);

}

9、在OnDraw函数里增加如下显示内容的代码

CString str;

str.Format("%s 是个好日子",mydate);

pDC->TextOut(10,10,str);

10、编译运行程序,在工作视图区点鼠标左键

四、按钮的使用

[实验步骤]

1、新建一个MFC单文档项目;

2、在资源选项卡中插入一个自己的对话框

3、新建一个对话框模板

4、在对话框中添加一个按钮,注意其ID。

5、通过Classwizzard新建你这个对话框的类,取名叫“Cmydlg”,当然你也可以取其他名字.

6、双击按钮,生成按钮命令响应函数,在其中添加如下代码:

m_btn=1;

OnOK();

7、在对话框类中添加public类型的变量

public:

int m_btn;

8、在View类中增加变量

int btn;

9、在View类中包含对话框的头文件

#include “mydlg.h”

包含你所建的对话框类。

注意:如果你改了对话框类的名字,看看相应的项目里新增的那个类的头文件名

10、通过Classwizzard增加一个鼠标左键消息响应函数,并在函数中增加如下代码:

void CT estView::OnLButtonDown(UINT nFlags, CPoint point)

{

// TODO: Add your message handler code here and/or call default

Cmydlg dlg;

if(dlg.DoModal()==IDOK)

{

btn=dlg.m_btn;

}

Invalidate();

CView::OnLButtonDown(nFlags, point);

}

11、在OnDraw函数里增加如下显示内容的代码

if(btn==1)

pDC->Ellipse(rand()%100+10,rand()%100+10,rand()%100+100,rand()%100+100);

12、编译运行程序,在工作视图区点鼠标左键

五、基于对话框的应用程序

[实验步骤]

1、新建一个MFC项目,在项目创建向导中选择“基于对话框”;

2、直接编译运行程序,看看程序特点;

3、查看项目的类,看看和单文档项目的不同:最主要的只有一个应用程序类、一个应用程序对话框类以及一个不重要的about类。(以下说的对话框均指应用程序对话框)

4、对话框类中的OnPaint函数相当于单文档项目里的OnDraw函数,可以尝试在OnPaint 函数的else分支里添加如下代码:

……

else

{

CPaintDC dc(this); // device context for painting

dc.TextOut(10,10,"hello world");

dc.Ellipse(20,40,80,80);

dc.Rectangle(20,90,60,120);

CDialog::OnPaint();

}

5、编译运行程序。

实验八 MFC中的对话框及控件(二)

实验八MFC中的对话框及控件(二) 实验目的 掌握常用的控件使用方法以及基于对话框的应用程序的开发 实验内容 1、编辑框的使用 2、选择按钮的使用 3、下拉列表的使用 4、按钮的使用 5、基于对话框的应用程序开发 一、编辑框的使用 [实验步骤] 1、新建一个MFC单文档项目; 2、在资源选项卡中插入一个自己的对话框 3、新建一个对话框模板 4、在对话框中添加2个静态文本控件和2个编辑框控件。注意这2个编辑框控件的ID 5、通过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 default Cmydlg dlg; if(dlg.DoModal()==IDOK) { myname=dlg.m_name; myage=dlg.m_age; Inavalidate();

MFC对话框

一、对话框 1、对话框就是一个窗口,它不仅可以接收消息,还可以被移动或关闭,在它上面可以放置各种各样的标准控件和扩展控件。 提示:在MFC中,所有的控件类都是由CWnd类派生来的,因此,控件实际上也是窗口,控件通常是作为对话框的子窗口而创建的。 2、对话框的类型: (1)、模态对话框 模态对话框是指当其显示时,程序会暂停执行,知道关闭这个模态对话框后,才能继续执行程序中其他任务。 (2)、非模态对话框 非模态对话框显示时,允许转而执行程序中其他任务,而不用关闭这个对话框。 注意:单击OK按钮时,模态对话框和非模态对话框都会消失。对于模态对话框而言,该对话框窗口对象被销毁,而对非模态对话框而言,对话框窗口对象并未被销毁,只是被隐藏了。 二、对话框的创建和显示 1、新建一个MFC单文档工程Dlg 2、新建对话框资源IDD_DIALOG1:Insert->Resource->选择”Dialog” ->单击”New”按钮 3、为新建资源添加对应的类:View->ClassWizard->将类名取为”CTestDlg”,Base class选择CDialog->OK按钮 提示:在MFC中,对资源的操作通常都是通过一个与资源相关的类来完成的。对话框资源有一个相应的基类:CDialog。 4、在菜单栏中添加菜单项Dialog,其ID设置为IDM_DIALOG。利用ClassWizard为该菜单项添加COMMAND命令消息响应函数。其中Class name选择CDlgView。 5、上步会在DlgView源文件中生成void CDlgView::OnDialog()函数,在此函数中创建不同的对话框: (1)、创建模态对话框 CTestDlg dlg; //记得添加#include "TestDlg.h" dlg.DoModal();//DoModal函数本身有显示模态对话框的作用 (2)、创建非模态对话框,由于生命周期的原因,不能将对话框对象定义为局部变量,可以:ⅰ将dlg定义为全局变量 dlg.Create(IDD_DIALOG1,this); dlg.ShowWindow(SW_SHOW); 注意:此时必须重写ID为IDOK按钮的OnOK虚函数且不要再调用基类的OnOK函数,以免出错。同样也须重写ID为IDCANCEL按钮的OnCancel虚函数。如: void CTestDlg::OnOK() { DestroyWindow(); } ⅱ定义一个指针,在堆上分配内存 CTestDlg *PDlg=new CTestDlg; PDlg->Create(IDD_DIALOG1,this); PDlg->ShowWindow(SW_SHOW); 注意:PDlg指针是局部变量,当它的生命周期结束时,它所保存的内存地址就丢失了,那么在程序中也就无法再引用到它所指向的那块内存了。解决办法有两种:一是将该指针定义为DlgView的成员变量,然后在View类的析构函数中调用delete函数。二是在CTestDlg类

MFC 对话框和常用教程

第五章对话框和常用控件 对话框是Windows应用程序中最重要的用户界面元素之一,是与用户交互的重要手段,在程序运行过程中,对话框可用于扑捉用户的输入信息或数据。对话框是一个特殊类型的窗口,任何对窗口进行的操作(如:移动、最大化、最小化等)都可在对话框中实施,一般来说,在对话框中通过各种控件(如:按钮、编辑框、列表框、组合框等)来和用户进行交互。控件是在系统内部定义的用于和用户交互的基本单元。 一、对话框的使用 Visual C++提供的对话框编辑器能“可视”地进行设计、编辑,并可用 ClassWizard为对话框从CDialog基类中派生一个类,MFC的CDialog类封装了用于对话框的显示、关闭等操作的许多功能函数,例如:DoModal函数用来显示模式对话框并返回用户操作的结果。 1、模式对话框(为186附加举例页) 所谓模式对话框是指,当对话被弹出时,用户必须在对话框中进行相应的操作,在退出对话框之前,对话框所在的应用程序不能继续执行。平常我们所见到的对话框大多是模式对话框。 例:模式对话框(通过菜单命令弹出) 1)建一个单文档(SDI)应用程序 2)创建对话框模板 Insert→Resource→选中Dialog→单击New 拖过一个静态文本,鼠标对准它,按右键点properties改标题为“新建模式对话框”。 3)鼠标右键对准对话框的任何位置单击,选择properties选项,设置ID为IDD_MYDIALOG 4)给对话框创建类 双击新建对话框的任何位置,单击OK,写类名为“CMyDlg”,保 证”CDialog”作为该类的基类。 5)创建菜单命令: a)打开资源编辑器的菜单项Menu b)双击IDR_MAINFRAME c)双击右边空白菜单,点开pop_up(让它是空白),在名字处写”弹出对话框(&A)”,ID 处写ID_PUPDIALOG 6)将菜单命令连接到主框架程序中,完成ID_PUPDIALOG的消息映射:View→ClassWizard→保证Class name里是CMainFrame,在ObjectIDs 里找到ID_PUPDIALOG点黑→Messages里(右边)点COMMAND建立主框架对象方法并加代码: void CMainFrame::OnPupdialog() { CMyDlg MyDlg; MyDlg.DoModal(); //DoModal()是CDialog类成员函数,通过调用该 //函数将显示对话框。 } 7)在CMainFrame.cpp文件里加: #include “MyDlg.h”// 之后运行。 2、无模式对话框(为186附加页) 非模式对话框,弹出后,可一直保留在屏幕上,用户可继续在应用中进行其它操作或启动其它应用程序,当需要使用对话框时,只需象激活一般窗口一样激活对话框即可。

mfc对话框使用

mfc对话框使用 MFC对话框使用指南 MFC (Microsoft Foundation Classes) 是微软开发的一套类库,用于快速实现 Windows 程序的开发。其中,对话框是 Windows 程序中常用的图形用户界面,本文将介绍 MFC 对话框的使用方法。 一、创建对话框 1.在 Visual Studio 中选择 File ➡️ New ➡️ MFC Application,选择对话框类型,点击 Finish。 2.在弹出的对话框属性编辑器中,可以更改对话框的标题、大小、背景颜色等属性。 3.在对话框上添加控件,如按钮、文本框、列表框等。 二、控件的属性设置 1.选中控件,右键点击 Properties,弹出控件属性编辑器。 2.在格式中设置控件的字体、颜色、大小等。 3.在常规中设置控件的 ID 号,和提示信息等。 4.在事件中设置控件的响应事件,如单击事件、双击事件等。 三、控件的事件响应

1.打开类向导,选择类视图中的一个控件,添加消息映射。 2.在消息映射中设置事件响应函数。 3.在事件响应函数中实现相应的逻辑功能。 四、对话框操作 1.打开类向导,选择类视图中的对话框。 2.添加成员变量,获取对话框上的控件对象。 3.在对话框中添加响应函数,如确定按钮、取消按钮等。 4.在响应函数中实现对话框的操作功能,如关闭对话框、保存数据等。 五、运行程序 1.生成程序,运行程序。 2.在程序中测试对话框、控件的交互功能。 以上的 MFC 对话框使用指南仅作为基础的入门介绍,通过掌握以上的 操作步骤和方法,可以快速地了解和使用 MFC 对话框的功能,并应用 到自己的开发项目当中。同时,对于技术提升有兴趣的读者,还可以 进一步学习如何使用代码实现更多的对话框功能和复杂的交互逻辑。

mfc列表框控件的使用

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):将数据库查询结果赋给列表框。

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控件来创建Windows应用程序。通过 创建MFC应用程序项目、设置控件属性、添加控件消息处理程序和编写控 件功能代码,可以快速创建出用户友好的应用程序界面,并实现各种功能。希望本教程对您有所帮助!

mfc中listbox控件的addstring

mfc中listbox控件的addstring 【MFC中ListBox控件的AddString——一步一步回答】 引言: 在MFC中,ListBox控件是一种常用的用于显示文本列表的控件。可以通过向ListBox中添加字符串,实现对列表的动态更新。本文将一步一步回答关于MFC中ListBox控件的AddString的相关问题,帮助读者更好地理解和应用该功能。 第一步:创建ListBox控件 在使用ListBox控件的AddString功能前,首先需要在MFC应用程序的对话框中创建一个ListBox控件。具体步骤如下: 1. 打开MFC应用程序,在资源视图中找到需要添加ListBox控件的对话框。 2. 双击对话框,进入对话框编辑模式。 3. 在工具箱中选择ListBox控件,并在对话框上拖动鼠标,绘制一个适当大小的ListBox控件。 第二步:添加AddString功能 在ListBox控件创建完成后,我们需要在代码中添加AddString功能,以实现向ListBox中添加字符串的功能。具体步骤如下: 1. 在对话框的头文件中添加ListBox控件的成员变量,例如`CListBox

m_ListBox`。 2. 打开对话框的源文件,并在OnInitDialog()函数中添加以下代码: m_ListBox.AddString(_T("String 1")); m_ListBox.AddString(_T("String 2")); m_ListBox.AddString(_T("String 3")); 在这段代码中,我们通过调用ListBox控件的AddString函数,向ListBox 控件中添加了三个字符串。其中,"_T()"用于将字符串转换为宽字符字符串。 第三步:运行应用程序 完成以上步骤后,我们可以运行应用程序,查看添加AddString功能后的效果。当应用程序启动后,ListBox控件将会显示出我们在代码中添加的三个字符串,即"String 1"、"String 2"和"String 3"。 扩展功能——动态添加字符串 上述的AddString功能只是静态地向ListBox控件中添加字符串,若我们希望在运行时动态地添加字符串,需要进行如下步骤的修改: 1. 在对话框的头文件中添加CString类型的成员变量,例如`CString m_NewString`。 2. 打开对话框的源文件,并在成员变量m_NewString的变化后,添加以

MFC中Tab控件的使用方法

MFC中Tab控件的使用方法 MFC中的Tab控件是一种常见的用户界面元素,用于在对话框或窗口 中创建多个选项卡,以便用户可以轻松地切换不同的内容。以下是Tab控 件的使用方法。 2. 在对话框类的头文件中声明一个成员变量来保存Tab控件的指针。例如,可以添加以下代码: ```cpp CTabCtrl m_tabControl; ``` 3. 打开对话框的OnInitDialog函数(或窗口的OnCreate函数), 并添加以下代码来初始化Tab控件: ```cpp // 获取Tab控件的指针 m_tabControl.SubclassDlgItem(IDC_TAB_CONTROL, this); // 在Tab控件中添加选项卡 m_tabControl.InsertItem(0, _T("Tab 1")); m_tabControl.InsertItem(1, _T("Tab 2")); //设置默认的选项卡 m_tabControl.SetCurSel(0); ```

4. 在对话框类的头文件中添加成员函数来响应Tab选项卡改变事件。例如,可以添加以下代码: ```cpp afx_msg void OnTabChanged(NMHDR* pNMHDR, LRESULT* pResult); ``` 5.在消息映射中添加对应的消息处理函数。在类的实现文件中,可以 添加以下代码: ```cpp BEGIN_MESSAGE_MAP(CTestDlg, CDialogEx) //其他消息映射 ON_NOTIFY(TCN_SELCHANGE, IDC_TAB_CONTROL, OnTabChanged) END_MESSAGE_MAP ``` 6. 实现Tab选项卡改变的消息处理函数。在类的实现文件中,可以 添加以下代码: ```cpp void CTestDlg::OnTabChanged(NMHDR* pNMHDR, LRESULT* pResult) //获取当前选中的选项卡索引 int nIndex = m_tabControl.GetCurSel(; switch (nIndex)

mfc dialog scrollbar 用法

MFC对话框滚动条的使用 1. 简介 MFC(Microsoft Foundation Class)对话框是Windows评台上一种常见的GUI(Graphical User Interface)界面,可以用于创建各种窗口应用程序。滚动条是对话框中常用的控件之一,可以用于滚动显示大量内容,如文本、图片等。本文将介绍在MFC对话框中如何使用滚动条控件。 2. 添加滚动条控件 在MFC对话框中添加滚动条控件非常简单。打开对话框资源编辑器,选中要添加滚动条的对话框,然后在工具栏中选择“滚动条”控件,将其拖放到对话框中即可。 3. 设置滚动条属性 添加滚动条控件后,我们可以通过双击滚动条控件或者右键点击属性来设置其各种属性。常见的滚动条属性包括滚动条的位置、大小、范围、页面大小、滑块大小等。根据实际需求,可以对这些属性进行调整,以满足程序的需求。 4. 响应滚动条消息 一旦滚动条控件添加到对话框中并设置好属性,接下来就是响应滚动条的消息。在MFC中,我们可以通过重载对话框类的OnVScroll和

OnHScroll函数来响应垂直滚动和水平滚动的消息。在这两个函数中,我们可以根据滚动条的位置来更新对话框中其他控件的显示内容,从 而实现滚动显示的效果。 5. 示例代码 以下是一个简单的示例代码,演示了在MFC对话框中使用垂直滚动条控件的方法: ```C++ void CMyDialog::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // 获取滚动条控件的当前位置 int nCurPos = pScrollBar->GetScrollPos(); // 根据滚动条的消息进行相应处理 switch (nSBCode) { case SB_TOP: // 处理滚动到顶部的情况 break; case SB_BOTTOM: // 处理滚动到底部的情况

mfc中listcontrol控件

mfc中listcontrol控件 MFC中的ListControl控件是一种用于显示和编辑列表数据的控件, 它也被称为ListView控件。该控件可以在列表中显示多行数据,并且可以根据需要进行排序、过滤和搜索等操作。在本文中,我们将介绍MFC中的ListControl控件的一些基本使用方法和注意事项。 首先,我们需要在MFC应用程序的资源视图中添加一个ListControl 控件。方法是右键单击资源视图中的对话框文件,并选择“添加控件”选项。然后在控件选项卡中选择“列表视图”,并在对话框中添加一 个ListControl控件。我们还可以在属性中更改控件的样式、列标题和显示方式等。 接下来,我们需要在代码中获取对ListControl控件的引用,并设置它的属性和数据。在对话框类的头文件中,我们可以声明一个ListControl控件变量,如下所示: CListCtrl m_ListCtrl; 在OnInitDialog方法中,我们可以通过以下代码获取ListControl控 件的引用:

m_ListCtrl = GetDlgItem(IDC_LIST_CONTROL); 然后,我们可以设置控件的样式、列标题和显示方式,如下所示: m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); m_ListCtrl.InsertColumn(0, _T("ID"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(1, _T("Name"), LVCFMT_LEFT, 150); m_ListCtrl.InsertColumn(2, _T("Age"), LVCFMT_LEFT, 100); m_ListCtrl.InsertColumn(3, _T("Gender"), LVCFMT_LEFT, 100); 接下来,我们可以将数据添加到ListControl控件中。例如,我们可以通过以下代码将一行数据添加到控件中: m_ListCtrl.InsertItem(0, _T("1001")); m_ListCtrl.SetItemText(0, 1, _T("Tom")); m_ListCtrl.SetItemText(0, 2, _T("20")); m_ListCtrl.SetItemText(0, 3, _T("Male")); 我们还可以使用相应的方法从控件中获取所选行的数据,例如: int nIndex = m_ListCtrl.GetSelectionMark(); CString strID = m_ListCtrl.GetItemText(nIndex, 0);

MFC通用控件使用详解

MFC通用控件使用详解 首先,我们需要在MFC应用程序中包含要使用的控件的头文件。例如,要使用按钮控件,我们需要包含afxwin.h文件。然后,在对话框资源中 添加一个按钮控件,并给它一个唯一的ID值。 在OnInitDialog(函数中,我们可以使用以下代码获取按钮控件的指 针并对其进行操作: ```cpp CButton* pButton = (CButton*)GetDlgItem(IDC_BUTTON1); ``` ```cpp pButton->SetWindowText(_T("Click Me")); ``` 我们还可以使用以下代码来设置按钮的样式: ```cpp pButton->SetButtonStyle(BS_DEFPUSHBUTTON); ``` 这将使按钮默认显示为按下按钮。 ```cpp CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT1);

``` ```cpp CString strText; pEdit->GetWindowText(strText); ``` ```cpp pEdit->SetWindowText(_T("Hello World")); ``` 对于列表框控件,我们可以使用以下代码获取列表框的指针:```cpp CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LIST1); ``` 然后,我们可以使用以下代码向列表框中添加项: ```cpp pListBox->AddString(_T("Item 1")); pListBox->AddString(_T("Item 2")); ``` 我们还可以使用以下代码来获取列表框中选定项的索引: ```cpp

mfc创建对话框的基本步骤

mfc创建对话框的基本步骤 创建MFC对话框的步骤如下: 1. 新建MFC项目。在创建项目时,选择visual c++选项卡,然后选择MFC。在右侧选择MFC应用程序,并在下方填写项目名称。 2. 选择应用程序类型。在创建项目的过程中,你需要选择应用程序类型。你可以选择单文档或基于对话框的应用程序类型。以基于对话框的应用程序为例。 3. 添加对话框。右键点击“Resource Files”,然后选择“Add Resource”。在弹出的对话框中,选择“Dialog”,然后点击“New”。这将在资源视图中创建一个新的对话框。 4. 给新的对话框重写ID。右键点击新创建的对话框,选择“属性”,在属性页中修改IDD为所需的ID,例如IDD_EXEC。 5. 为模态对话框添加类。右键点击选中的对话框,然后选择“添加类”。在弹出的对话框中,输入类的名称,然后点击“确定”。这将为对话框创建一个新的类。 6. 添加控件。在对话框编辑器中,你可以直接从工具箱里拖动控件到对话框上。

例如,你可以拖动按钮控件到对话框上。 7. 添加事件处理程序。对于每个添加的控件,你都可以为其添加事件处理程序。你可以通过右键点击控件,然后选择“添加事件处理程序”来添加事件处理程序。在弹出的对话框中,选择相应的事件(例如单击事件),然后在右侧的代码编辑器中编写事件处理程序。 8. 运行对话框。在完成对话框的编辑后,你可以运行对话框来测试其功能。你可以通过点击工具栏上的“启动”按钮或按F5键来启动应用程序。 这些步骤可以帮助你创建一个基本的MFC对话框。当然,具体的实现方式还需要根据你的需求进行调整和修改。

MFC中进度条控件的使用方法

MFC中进度条控件的使用方法 MFC(Microsoft Foundation Class)进度条控件是一种用于显示任务进度的常见控件,可以在界面中显示一个动态的进度条,以便用户了解任务的进度情况。在本文中,将介绍MFC中如何使用进度条控件,并详细说明其使用方法。 1.创建进度条控件 在MFC应用程序的对话框资源中添加一个进度条控件,控件ID可以自定义。然后在对应的对话框类中添加一个变量用于关联该控件,方法如下: ```cpp #include // 导入控件类的头文件 class CMyDialog : public CDialogEx //... protected: CProgressCtrl m_progress; // 声明一个变量用于关联进度条控件 }; ``` 2.初始化进度条

在对话框类中的OnInitDialog(函数中,通过m_progress变量获取进度条控件的指针,并进行初始化设置。 ```cpp BOOL CMyDialog::OnInitDialog CDialogEx::OnInitDialog(; //获取进度条控件的指针 CProgressCtrl* pProgress = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS1); //设置进度条范围(默认为0-100) pProgress->SetRange(0, 100); //设置进度条初始位置 pProgress->SetPos(0); return TRUE; } ``` 3.更新进度条的进度 在任务进行中,可以通过SetPos(函数设置进度条的当前位置,用以更新进度条的进度。 ```cpp void CMyDialog::DoTask

MFC实验二 对话框程序设计

实验二对话框程序设计 (一) 实验目的: 1 学习如何创建对话框程序,并想其中添加控件。 2 学习如何使用对话框来打开和保存文件。 3 学习创建消息对话框。 在Windows程序中,对话框是最重要的显示信息和取得用户数据的单元; 一个应用程序可以拥有几个对话框,这些对话框从用户那里接受特定类型的信息; 可以使用资源编辑器创建对话框资源,向其中添加控件,调整对话框的布局,使对话框更加便于使用。 (二) 实验内容: 应用实例创建一个基于对话框的应用程序,并添加文件菜单,用来打开和保存文件;建立消息对话框,用来提醒用户在退出前保存文件;同时建立一个属性页对话框,掌握其基本用法。 (三) 实验步骤: 实验一:创建简单的对话框应用程序 1.使用AppWizard创建一个基于对话框类型的程序Prog01。在AppWizard的第一页选择“Dialog based” ,生成标准对话框模板。

2.可以设置对话框的属性,右键单击整个对话框的背景,选择“Properties”项,在弹出的对话框中修改此对话框ID为:IDD_PROG01_DIALOG,标题为:“简单计算器”。 当对话框资源完成以后,选择ctrl+w,打开ClassWizard,已经有一个类Prog01Dlg与新的对话框相联系。 3.在控件工作栏点击要添加的空间图标,选择所需的控件。一共要添加三个静态文本框、三个编辑框、五个命令按钮。可以改变空间的大小、位置、对齐方式等等。 4.添加控件结束后,设置各个控件的属性。右键需要设置属性的控件,在弹出的菜单中选择Prperties,或选中控件按回车键。各个控件的属性设置如下图。 下表列出了本题中所有控件的属性设置以及添加的成员变量:

mfc 中的控件原理

MFC中的控件原理 一、引言 1. MFC概述 2. 控件在MFC中的重要性 3. 论文目的与结构 二、MFC控件的基本概念与分类 1. 控件的定义与功能 2. MFC控件的分类(如窗口、对话框、菜单等) 3. 控件的生命周期与事件 三、MFC控件的创建与初始化 1. 创建控件的函数与参数 2. 初始化控件的属性 3. 设置控件的布局与属性 四、MFC控件的输入与输出 1. 控件的输入事件处理 2. 控件的输出事件处理 3. 控件的属性设置与调整 五、MFC控件的通信与消息传递 1. 控件之间的通信机制 2. 消息传递与事件处理函数 3. 上下文菜单的创建与使用 六、MFC控件的布局管理

1. 布局管理器的基本概念与分类 2. 常用的布局管理器(如CMDLayout、CLayout等) 3. 布局管理器与控件的结合使用 七、MFC控件的样式与外观 1. 控件的样式设置 2. 控件的外观主题与风格 3. 自定义控件的样式与外观 八、MFC控件的性能优化 1. 控件的性能优化策略 2. 控件的性能监测与调试 3. 提高控件性能的技术方法 九、结论 1. MFC控件在现代软件开发中的重要性 2. 控件原理与实践的结合 3. 展望MFC控件的发展趋势 1. MFC概述 MFC(Microsoft Foundation Class)是微软公司开发的一种基于Visual Basic语言的Windows应用程序开发框架。它提供了一系列的控件(控件是指应用程序中的一个可交互的组件)和组件,用于构建各种类型的应用程序,如桌面应用程序、控制台应用程序和Web应用程序等。MFC控件是应用程序中最基本的交互单元,它们可

mfc对话框基础要点

第五章对话框 对话框是一种用户界面,它的主要功能是输出信息和接收用户的输入。对话框与控件是密不可分的,在每个对话框内一般都有一些控件,对话框依靠这些控件与用户进行交互。一个典型的对话框例子是选择了File-Open命令后弹出的文件对话框。 5.1对话框和控件的基本概念 5.1.1对话框的基本概念 对话框(Dialog)实际上是一个窗口。在MFC中,对话框的功能被封装在了CDialog类中,CDialog类是CWnd类的派生类。 对话框分为模态对话框和非模态对话框两种。大部分读者都会有这样的经历,当你通过File-Open命令打开一个文件对话框后,再用鼠标去选择菜单将只会发出嘟嘟声,这是因为文件对话框是一个模态对话框。模态对话框垄断了用户的输入,当一个模态对话框打开时,用户只能与该对话框进行交互,而其它用户界面对象收不到输入信息。我们平时所遇到的大部分对话框都是模态对话框。非模态对话框的典型例子是Windows95提供的写字板程序中的搜索对话框,搜索对话框不垄断用户的输入,打开搜索对话框后,仍可与其它用户界面对象进行交互,用户可以一边搜索,一边修改文章,这样就大大方便了使用。 本节主要介绍模态对话框,在第四节将介绍非模态对话框。 从MFC编程的角度来看,一个对话框由两部分组成: 1.对话框模板资源。对话框模板用于指定对话框的控件及其分布,Windows根据对话框模板来创建并显示对话框。 2.对话框类。对话框类用来实现对话框的功能,由于对话框行使的功能各不相同,因此一般需要从CDialog类派生一个新类,以完成特定的功能。 5.1.2控件的基本概念

图5.1对话框中的控件 控件(Control)是独立的小部件,在对话框与用户的交互过程中,控件担任着主要角色。控件的种类较多,图5.1显示了对话框中的一些基本的控件。MFC的控件类封装了控件的功能,表5.1介绍了一些常用的控件及其对应的控件类。 表5.1 控件实际上都是窗口,所有的控件类都是CWnd类的派生类。控件通常是作为对话框的子窗口而创建的,控件也可以出现在视窗口,工具条和状态条中。 对话框的设计包括对话框模板的设计和对话框类的设计两个主要方面。 1.与对话框有关的消息主要包括WM_INITDIALOG消息和控件通知消息。在对话框创建时,会收到WM_INITDIALOG消息,对话框对该消息的处理函数是OnInitDialog 。 2.OnInitDialog的主要用处是初始化对话框。对话框的控件会向对话框发送控件通知消息,以表明控件的状态发生了变化。 5.2对话框模板的设计 利用Developer Studio提供的可视化设计工具,用户可以方便地设计对话框模板。 请读者按前面章节介绍的方法利用AppWizard建立一个名为Register的MFC应用程序,并在进入MFC AppWizard对话框后按下面几步操作: 1.在第1步中选中Single document以建立一个单文档应用程序。 2.在第4步中使Docking toolbar项不选中,这样AppWizard就不会创建工具条。 3.在第6步中先选择CRegisterView,然后在Base class栏中选择CEditView,这样 CRegisterView将是CEditView的继承类,从而使视图具有了编辑功能。 编译并运行Register,读者会发现Register居然是个编辑器,它可以打开、编辑和保存文本文件。当然,Register的目的不仅仅是个编辑器。假设要对某一地区的就业情况进行调查,我们希望Register程序能够登录就业情况数据并将数据存储起来。 要登录数据,用对话框是再合适不过了。一个典型的就业情况登录对话框如图5.1所示,本节的任务就是设计如图5.1的中文对话框模板。

MFC控件使用详细教程

使用Windows标准控件 我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。在Visual C++中,可以使用的控件分成三类: (1) Windows标准控件 Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。 表6.1 Windows标准控件

续表6.1 前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。Windows标准控件在以下环境下提供: •Windows 95 •Windows NT 3.51及以后版本 •Win32s 1.3 •注意: •Visual C++ 4.2及以后版本不再支持Win32s。

(2) ActiveX控件 ActiveX控件可用于对话框中,也可用于HTML文档中。这种控件过去被称为OLE 控件。本书将在专门的章节中来讲述关于ActiveX控件的知识。这里仅指出ActiveX控件使用了与标准控件完全不同的接口和实现方法。 (3) 其它MFC控件类 除了Windows标准控件和自己编写的或者来自于第三方软件开发商的ActiveX 控件以外,MFC还提供了另外三种控件,它们由下面的三个类进行封装: •类CBitmapButton用于创建以位图作为标签的按钮,位图按钮最多可以包括四个位图图片,分别代表按钮的四种不同状态。 •类CCheckListBox用于创建选择列表框,这种列表框中的每一项前面有一个复选框,以决定该项是否被选中。 •类CDragListBox用于创建一种特殊的列表框,这种列表框允许用户移动列表项。 在本章我们仅讲述第一类控件,即Windows标准控件。所涉及的内容包括各个控件的使用及相应的技巧。 第一节使用对话框编辑器和ClassWizard 对于大多数Windows标准控件,我们一般都使用对话框编辑器来将它们添加到对话框中。 图6. 1 在ResourceView中选择对话框 IDD_DIALOGDEMO_DIALOG

相关主题
文本预览
相关文档 最新文档