实验5 常用控件(2)

上传人:第*** 文档编号:34404722 上传时间:2018-02-24 格式:DOC 页数:12 大小:151.50KB
返回 下载 相关 举报
实验5 常用控件(2)_第1页
第1页 / 共12页
实验5 常用控件(2)_第2页
第2页 / 共12页
实验5 常用控件(2)_第3页
第3页 / 共12页
实验5 常用控件(2)_第4页
第4页 / 共12页
实验5 常用控件(2)_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《实验5 常用控件(2)》由会员分享,可在线阅读,更多相关《实验5 常用控件(2)(12页珍藏版)》请在金锄头文库上搜索。

1、 琼 州 学 院课 程 实 验 报 告(20112012 年度第二学期)专 业 计 算 机 应 用 技 术课 程 Visual C+ 班 级 09 计 算 机 应 用 班姓 名 吴 江 龙 _学 号 09138018_教 师 熊 志 斌 _琼 州 学 院 电 子 信 息 工 程 学 院 制实 验 报 告 填 写 说 明、填写一律用钢笔或圆珠笔填写或打印,要求字迹工整,条理清晰。、 “实验题目”可以填写章节名称或用文字表述。、 “实验目的”要逐条列出, “实验内容”以简练的文字进行概括。、 “附注”处填写实验注意事项或调试过程,以及实验中出现的异常情况和解决方法。、 “教师批阅”处由课任老师填写

2、评语,给出实验成绩,并作为平时成绩,参与期末成绩总评。 2012 年 5 月 3 日实验项目: 实验 3 常用控件(2)实验仪器:一台计算机一、实验目的:(1)设计一个如图 3.1所示的“学生基本信息”对话框。(2)在实验 2的基础上,实现功能:在图 2.1中的“课程信息”按钮下方添加一个“学生基本信息”按钮,单击该按钮,弹出“学生基本信息”对话框,单击“添加”按钮,学生基本信息显示在列表框中。(3)在 CEx_CtrlsDlg对话框中添加一个滚动条和两个滑动条来调整对话框的背景颜色的 3个分量:R(红色分量) 、G(绿色分量)和 B(蓝色分量) ,结果如图3.2所示。图 3.1 “学生基本信

3、息”对话框 图 3.2 设置对话框背景颜色二、实验准备和说明(1)具备知识:滚动条、进展条、滑动条、时间和日历控件。(2)创建本次实验工作文件夹“Visual C+程序实验实验 3”。三、实验内容和步骤1在实验 3的工作文件夹中复制 Ex_Ctrls文件夹将本书实验 2中的 Ex_Ctrls文件夹复制到实验 3的工作文件夹中。2启动 Visual C+ 6.0启动 Visual C+ 6.0系统。3创建并添加“学生基本信息”对话框 选择“文件”“打开工作区”菜单,将“Visual C+程序实验实验 3Ex_Ctrls”文件夹中的 Ex_Ctrls项目打开。 添加一个新的对话框资源,将 ID号改

4、为 IDD_INPUT,标题为“学生成绩输入” ,将对话框字体改为“宋体,9 号” 。将 OK和 Cancel按钮标题改为“确定”和“取消” 。 调整对话框的大小,将“确定”和“取消”按钮移至对话框的下方,然后显示对话框网格。 参看图 3.1,向对话框添加如表 3.1所示的控件。表 3.1 学生基本信息对话框添加的控件添加的控件 ID号 标 题 其 他 属 性编辑框 IDC_EDIT_NAME 默认编辑框 IDC_EDIT_NO 默认编辑框 IDC_EDIT_S1 默认旋转按钮控件 IDC_SPIN_S1 Auto buddy、Right 对齐编辑框 IDC_EDIT_S2 默认旋转按钮控件

5、IDC_SPIN_S2 Auto buddy、Set buddy integer、Right 对齐编辑框 IDC_EDIT_S3 默认旋转按钮控件 IDC_SPIN_S3 Auto bud0dy、Set buddy integer、Right 对齐 双击对话框模板空白处,为该对话框模板创建一个对话框类CInputDlg。 在 MFC ClassWizard的 Member Variables页面中,确定 Class name中是否已选择了 CInputDlg,选中所需的控件 ID号,双击鼠标或单附注附注(续)击 Add Variables按钮。依次为表 3.2控件增加成员变量。表 3.2 控件

6、变量控件 ID号 变 量 类 别 变 量 类 型 变 量 名 范围和大 小IDC_EDIT_NAME Value CString m_strName 20IDC_EDIT_NO Value CString m_strNO 20IDC_EDIT_S1 Value float m_fScore1 0.0 100.0IDC_SPIN_S1 Control CSpinButtonCtrl m_spinScore1 IDC_EDIT_S2 Value float m_fScore2 0.0 100.0IDC_SPIN_S2 Control CSpinButtonCtrl m_spinScore2 IDC

7、_EDIT_S3 Value float m_fScore3 0.0 100.0IDC_SPIN_S3 Control CSpinButtonCtrl m_spinScore3 在 MFC ClassWizard的 Messsage Maps页面中,为 CInputDlg添加 WM_INITDIALOG消息映射,并添加下列代码:BOOL CInputDlg:OnInitDialog() CDialog:OnInitDialog();m_spinScore1.SetRange( 0, 100 ); / 设置旋转按钮控件范围m_spinScore2.SetRange( 0, 100 );m_spi

8、nScore3.SetRange( 0, 100 );附注(续)return TRUE; / return TRUE unless you set the focus to a control 用 MFC ClassWizard为 CInputDlg增加 IDC_SPIN_S1控件的UDN_DELTAPOS消息映射,并添加下列代码:void CInputDlg:OnDeltaposSpinS1(NMHDR* pNMHDR, LRESULT* pResult) NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;UpdateData(TRUE); / 将控件的内容

9、保存到变量中m_fScore1 += (float)pNMUpDown-iDelta * 0.5f;if (m_fScore1100.0) m_fScore1 = 100.0f;UpdateData(FALSE); / 将变量的内容显示在控件中*pResult = 0; 打开 IDD_EX_CTRLS_DIALOG对话框资源,在 “课程信息”按钮下方添加一个“学生基本信息”按钮,并将 ID号设为 IDC_BUTTON_STUINFO。 用 MFC ClassWizard为按钮 IDC_BUTTON_STUINFO添加BN_CLICKED消息映射,并添加下列代码:void CEx_CtrlsDl

10、g:OnButtonStuinfo() CStuInfoDlg dlg;附注(续)if (IDOK != dlg.DoModal() return;while(m_List.GetCount()!=0)m_List.DeleteString(0);CString strSex(女);if (dlg.m_bMale) strSex = 男;m_List.AddString( 姓名:+dlg.m_strName);m_List.AddString( 学号:+dlg.m_strNo);m_List.AddString( 性别:+strSex);m_List.AddString( 出生年月:+dlg.

11、m_tBirth.Format(%Y-%m-%d);m_List.AddString( 所学专业:+dlg.m_strSpecial);在 Ex_CtrlsDlg.cpp文件的前面添加 CStuInfoDlg类的头文件包含:#include CourseDlg.h#include StuInfoDlg.h编译运行并测试。结果如图 3.3所示。图 3.3 学生基本信息添加后的结果4改变对话框背景颜色附注(续)附注(续)附注(续) 将项目工作区窗口切换到 ResourceView页面,打开IDD_EX_CTRLS_DIALOG对话框资源。 打开对话框网格,参看图 3.2的控件布局,为对话框添加如表

12、 3.3所示的一些控件。表 3.3 添加的控件添加的控件ID号标 题其 他 属 性垂直滚动条IDC_SCROLLBAR_RED 默认滑动条(绿色)IDC_SLIDER_GREEN方位为Vertical, 其他默认滑动条(蓝色)IDC_SLIDER_BLUE方位为Vertical, 其他默认 用 MFC ClassWizard为表 3.4控件添加成员变量。表 3.4 控件变量控件 ID号变 量 类 别变 量 类 型变 量 名范围和大小IDC_SCROLLBAR_REDControlCScrollBarm_scrollRedIDC_SLIDER_GREENControlCSliderCtrlm_s

13、liderGreenIDC_SLIDER_GREENValueintm_nBlueIDC_SLIDER_BLUEControlCSliderCtrlm_sliderBlueIDC_SLIDER_BLUEValueintm_nBlue 为 CEx_CtrlsDlg类添加两个成员变量,一个是 int型m_nRed,用来设置颜色 R、G、B 中的红色分量,另一个是画刷CBrush类对象 m_Brush,用来设置对话框背景所需要的画刷。 在 CEx_CtrlsDlg:OnInitDialog函数中添加下列代码:BOOL CEx_CtrlsDlg:OnInitDialog() m_scrollRed.S

14、etScrollRange(0, 255);m_sliderBlue.SetRange(0, 255);m_sliderGreen.SetRange(0, 255);m_nBlue = m_nGreen = m_nRed = 192;UpdateData( FALSE );m_scrollRed.SetScrollPos(m_nRed);return TRUE; / return TRUE unless you set the focus to a control 用 MFC ClassWizard为 CEx_CtrlsDlg类映射WM_VSCROLL消息,并添加下列 代码:void CEx_

15、CtrlsDlg:OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) int nID = pScrollBar-GetDlgCtrlID(); / 获取对话框中控件 ID号if (nID = IDC_SCROLLBAR_RED) / 或是滚动条产生的水平滚动消息switch(nSBCode)case SB_LINEUP: m_nRed-; / 单击滚动条向上箭头break;case SB_LINEDOWN: m_nRed+; / 单击滚动条向下箭头break;case SB_PAGEUP: m_nRed -= 10;break;case SB_PAGEDOWN:m_nRed += 10;break;case SB_THUMBTRACK:m_nRed = nPos;break;if (m_nRed255) m_nRed = 255;m_scrollRed.SetScrollPos(m_nRed);Invalidate(); / 使对话框无效,强迫系统重绘对

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号