vc++6.0-常用控件1

实验目的:
(1)创建一个默认的对话框应用程序Ex_Ctrls,如图2.1所示。
(2)设计一个如图2.2所示的“课程信息”对话框。

图2.1 Ex_Ctrls对话框

图2.2 “课程信息”对话框

(3)实现功能:单击图2.1中的“课程信息”按钮,弹出“学生基本信息”对话框,单击“添加”按钮,对话框内容显示在图2.1中的列表框中。 实验仪器: 电脑一台(CPU:Inter(R) Xeon(R) E3-1230 v3 @ 3.3GHz 内存:8.0GB 操作系统:Win8.1虚拟机xp 使用软件:Vc++ 6.0) 实验步骤(或程序清单:)

1**启动Visual C++ 6.0**

打开计算机,启动Visual C++ 6.0系统。

2**创建一个默认的对话框应用程序Ex_Ctrls**

① 选择“文件”→“新建”菜单,在弹出的“新建”对话框中选择“工程”页面,选择MFC AppWizard(exe),在工程框中输入Ex_Ctrls,并将工程文件夹定位到“…\Visual C++程序\实验\实验2”。

② 单击“确定”按钮,在出现的Step 1对话框中选择“基本对话(框)”应用程序类型,单击“完成”按钮。

③ 在对话框编辑器中,单击对话框工具栏上的切换网格按钮,显示对话框网格,将对话框标题改为“使用控件”。

④ 调整对话框的大小,删除对话框中间的“TODO: 在这里设置对话控制。”静态文本控件和“确定”按钮控件,将“取消”按钮标题改为“退出”,并移至对话框的下方。 ⑤ 向对话框中添加组框(Group)控件,标题设为“添加”,然后调整其大小和位置。

⑥ 添加一个按钮,标题设为“课程信息”,ID设为IDC_BUTTON_COURSE。

⑦ 添加一个列表框,取其默认ID号,去掉Sort风格属性。

3**.**添加并设计“课程信息”对话框

① 按Ctrl+R快捷键,弹出“插入资源”对话框,在资源类型列表中选择Dialog,单击“新建”按钮。

) ② 将该对话框资源的ID设为IDD_COURSE,标题设为“课程信息”,字体设为“宋体,9号”。

③ 将OK和Cancel按钮的标题改为“添加”和“取消”。

④ 打开对话框网格,参看图2.2的控件布局,为对话框添加如表2.1所示的一些控件。

2.1 课程信息对话框添加的控件

添加的控件

ID

标 题

其 他 属 性

编辑框(课程号)

IDC_EDIT_COURSENO

——

默认

编辑框(课程名称)

IDC_EDIT_COURSENAME

——

默认

组合框(所属专业)

IDC_COMBO_SPECIAL

——

默认

组合框(课程类型)

IDC_COMBO_TYPE

——

默认

编辑框(开课学期)

IDC_EDIT_OPEN

——

默认

旋转按钮

IDC_SPIN1

——

Auto buddy、Set buddy integer、Right对齐,其余默认

编辑框(课时数)

IDC_EDIT_COURSEHOURS

——

默认

编辑框(学分)

IDC_EDIT_CREDIT

——

默认

⑤ 右击添加的课程类型的组合框控件,从弹出的快捷菜单中选择“属性”命令,将其属性对话框切换到Data页面,直接输入内容,输入一行后按Ctrl+Return键添加另一行。

⑥ 按Ctrl+W快捷键或双击对话框资源模板的空白处,为IDD_COURSE创建一个对话框CCourseDlg

⑦ 打开ClassWizard的Member Variables页面,看Class name是否是CCourseDlg,选中所需的控件ID号,双击鼠标。依次为表2.2控件增加成员变量。

2.2 控件变量

控件ID

变量类别

变量类型

变量名

范围和大小

IDC_EDIT_COURSENO

Value

CString

m_strNO

IDC_EDIT_COURSENAME

Value

CString

m_strName

IDC_COMBO_SPECIAL

Value

CString

m_strSpecial

IDC_COMBO_SPECIAL

Control

CComboBox

m_comboSpecial

——

IDC_COMBO_TYPE

Value

CString

m_strType

IDC_EDIT_OPEN

Value

BYTE

m_nOpen

IDC_SPIN1

Control

CSpinButtonCtrl

m_spinOpen

——

IDC_EDIT_COURSEHOURS

Value

int

m_nHours

IDC_EDIT_CREDIT

Value

float

m_fCredit

4**添加CCourseDlg**类代码

① 用MFC ClassWizard为CCourseDlg类添加WM_INITDIALOG消息映射,并添加下列初始化代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
BOOL CCourseDlg::OnInitDialog()

{

         CDialog::OnInitDialog();
         m_spinOpen.SetRange( 1, 8 );
         m_nHours = 60;
         m_fCredit = 2.0;
         m_nOpen = 1;
         m_strType = "专修";
         // 这里对专业组合框进行初如化
         m_comboSpecial.AddString( "机械工程及其自动化" );
         m_comboSpecial.AddString( "电气工程及其自动化" );
         m_strSpecial = "机械工程及其自动化";
         UpdateData(FALSE);
                  return TRUE;  // return TRUE unless you set the focus to a control

}

② 用MFC ClassWizard为按钮IDOK添加BN_CLICKED的消息映射,并增加下列 代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void CCourseDlg::OnOK()

{

         UpdateData();
         m_strNO.TrimLeft();
         if (m_strNO.IsEmpty())         {
                  MessageBox("课程号不能为空!");               return;
         }
         m_strName.TrimLeft();
         if (m_strName.IsEmpty())     {
                 MessageBox("课程名称不能为空!");           return;
         }
         CDialog::OnOK();

}

5**添加CEx_CtrlsDlg**程序代码

① 按Ctrl+W快捷键,打开MFC ClassWizard对话框,为列表框控件IDC_LIST1添加控件变量m_List,类型为CListBox。

② 用MFC ClassWizard为按钮IDC_BUTTON_COURSE添加BN_CLICKED消息映射,并添加下列代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void CEx_CtrlsDlg::OnButtonCourse()

{
         CCourseDlg dlg;
         if (IDOK != dlg.DoModal()) return;
         // 清除列表框原来的显示内容
while(m\_List.GetCount()!=0) m\_List.DeleteString(0);
         m\_List.AddString( "课 程 号:"+dlg.m\_strNO);
         m\_List.AddString( "课程名称:"+dlg.m\_strName);
         m\_List.AddString( "所属专业:"+dlg.m\_strSpecial);
         m\_List.AddString( "课程类型:"+dlg.m\_strType);
         CString str;
         str.Format("开课学期:%d", dlg.m_nOpen );
         m_List.AddString( str );
         str.Format("课 时 数:%d", dlg.m_nHours );
         m_List.AddString( str );
         str.Format("学    分:%4.1f", dlg.m_fCredit);
         m_List.AddString( str );       
}

③ 在Ex_CtrlsDlg.cpp文件的前面添加CInputDlg的头文件包含:

1
2
#include "Ex_CtrlsDlg.h"
#include "CourseDlg.h"

④ 编译运行并测试。

6**.**写出实验报告

分析上述运行结果以及思考与练习,写出实验报告。

实验结果分析 知道了控件的基本操作,添加控件和修改代码,调整控件位置。

  • 版权声明: 本博客所有文章,未经许可,任何单位及个人不得做营利性使用!转载请标明出处!如有侵权请联系作者。
  • Copyrights © 2015-2020 翟天野

请我喝杯咖啡吧~