1 / 21
文档名称:

实验7Windows控件的使用.doc

格式:doc   大小:522KB   页数:21页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验7Windows控件的使用.doc

上传人:260933426 2017/8/16 文件大小:522 KB

下载得到文件列表

实验7Windows控件的使用.doc

文档介绍

文档介绍:实验7 Windows控件的使用
实验目的
掌握按钮类控件的使用
掌握编辑框、列表框和组合框的使用
掌握微调控件、滑动控件和滚动控件的使用
实验内容
本节实验通过实例讲述Windows常用控件的使用,包括单选按钮控、复选框、编辑框、列表框、组合框、微调控件、滑动控件和滚动控件等。
下压式按钮的使用
创建一个MFC AppWizard[exe]的基于SDI的应用程序ex81。
添加一个对话框,其ID为IDD_Graphic,利用ClassWizard给对话框添加新类,类名为CGraphicDlg。
在对话框中添加一个下压式按钮,其ID为IDC_TEXT,caption为“文本”给按钮添加BN_CLICKED消息,在其消息处理函数OnText()中显示一行提示信息“这时图形选择对话框”,其代码为:
void CGraphicDlg::OnText()
{

MessageBox("这是图形选择对话框");
}
在主菜单中添加“图形”菜单,其ID为ID_Graphic,通过该菜单调用新添加的对话框。给“图形”MAND,其消息处理函数为:
void CEx81View::OnGraphic()
{
CGraphicDlg dlg;
();
}
编译运行程序后,单击“图形”菜单,弹出对话框,单击“文本”按钮,显示提示信息。
编程实现,在“图形”对话框中,通过单选按钮选择图形。
修改“图形”对话框模板,如图所示:
添加单选按钮和成组框
设置单选按钮控件属性。单击“布局”菜单下的“Tab顺序”命令,设置单选按钮的Tab键顺序,尽量保证每一组单选按钮的Tab顺序是连续的。添加两个单选按钮为一组。第一个按钮的属性框,其ID为IDC_Ellipse,标题为“椭圆”,并选中Group。在第二个按钮的属性框中,标题为“矩形”,Group不能选中。如果一组中有多个单选项,除第一个按钮的Group属性被选中外,同组中其他单选按钮的Group属性都不能被选中,这样才能真正的将按钮进行分组。
利用类向导给单选按钮组添加变量:int m_Graphic,如下图所示,方法如下:在MFC类向导中选择Member Variables选项卡。在该选项卡中,选择ID为IDC_Ellipse,单击Add Variable成员变量,弹出一个对话框,Member Variable name为m_Graphic,Category类型为Value,Variable type成员变量类型为int。确定后,关闭对话框。一个单选按钮对应一个数据变量。当单选按钮控件组中第一个按钮被选中时,则数据交换后对话框数据成员值为0;当单选按钮控件组中第二个按钮被选中时,则数据交换后对话框数据成员值为1,依此类推。
修改OnGraphic()函数,代码如下:
void CEx81View::OnGraphic()
{
CGraphicDlg dlg;
CDC *pDC=GetDC();
if(()==IDOK)
{
Invalidate();
UpdateWindow();
if(!)
pDC->Ellipse(100,100,200,200);
else
pDC->Rectangle(100,100,200,200);
}
}
编程实现,在“图形”对话框中,通过复选按钮选择图形的填充颜色。
修改“图形”对话框模板,如下图所添加的3个复选框按钮的ID分别为:IDC_CHKRED、IDC_CHKGREEN、IDC_CHKBLUE;Caption分别为:红、绿和蓝。
利用类向导给复选按钮添加变量:
复选按钮数据变量的添加和单选按钮类似。复选框的数据变量是一个布尔型的变量,如果复选框被选中,则变量的值为TRUE,否则变量的值为FALSE。如图
在CEx81View类中,新增3个protected类型成员变量,类型为int,分别是r,g,b。并在构造函数中对3个成员变量进行初始化,代码如下
CEx81View::CEx81View()
{
r=0;
g=0;
b=0;
}
修改OnGraphic()函数,实现所需功能。
void CEx81View::OnGraphic()
{
CGraphicDlg dlg;
CDC *pDC=GetDC();
r=0;
g=0;
b=0;
if(()==IDOK)
{
if()
r=255;
if()
g=255;