ImageVerifierCode 换一换
格式:DOCX , 页数:47 ,大小:122.55KB ,
资源ID:5608647      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5608647.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(visual c++ 程序设计实验指导.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

visual c++ 程序设计实验指导.docx

1、visual c+ 程序设计实验指导Visual C+程序设计实验指导海南软件职业技术学院Hainan Software Profession Institute(2005-2006学年度第二学期)教师姓名: 季 文 天 系 部: 软 件 工 程 系 授课专业: 软件技术 授课班级: 04软件技术(3) 实验一:编制一个MFC应用程序一、实验目的: 1. 熟悉并掌握MFC基本应用程序结构 2掌握MFC消息映射机制 3掌握响应简单事件的方法二、实验环境: Windows 2000 Professional Visual C+ 6.0 Enterprise三、实验内容 1、编写一个简单的MFC应用

2、程序四、试验步骤:1、建立一个Win32工程,HelloMFC。2、选择“工程”“设置”菜单,选择包含MFC类库。3、输入下列代码:#include / MFC头文件class CHelloApp : public CWinApp / 声明应用程序类 public: virtual BOOL InitInstance(); ;CHelloApp theApp; / 建立应用程序类的实例class CMainFrame: public CFrameWnd / 声明主窗口类 public: CMainFrame() / 创建主窗口 Create(NULL, 我的窗口, WS_OVERLAPPEDW

3、INDOW, CRect(0,0,400,300); protected: afx_msg void OnLButtonDown(UINT nFlags, CPoint point); DECLARE_MESSAGE_MAP();/ 消息映射入口BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) ON_WM_LBUTTONDOWN() / 单击鼠标左键消息的映射宏END_MESSAGE_MAP()void CMainFrame:OnLButtonDown(UINT nFlags, CPoint point) MessageBox (你好,我的Visual C+世界

4、!, 问候, 0) ; CFrameWnd:OnLButtonDown(nFlags, point);/ 每当应用程序首次执行时都要调用的初始化函数BOOL CHelloApp:InitInstance() m_pMainWnd = new CMainFrame(); m_pMainWnd-ShowWindow(m_nCmdShow); m_pMainWnd-UpdateWindow(); return TRUE; 五、实验报告依据本节实验内容书写实验报告,包括如下内容:(1)实验目的(2)实验环境(3)操作步骤(4)遇到的问题及解决方法(5)回答实验问题(6)实验心得和体会 实验二: 编辑框

5、控件一、实验目的: 1. 掌握编辑控件风格 2掌握编辑控件单行、多行风格 3掌握编辑控件数据的获取二、实验环境: Windows 2000 Professional Visual C+ 6.0 Enterprise三、实验内容 1、使用静态文本、组框、编辑框以及按钮等控件,设计界面。用户在“成绩1”、“成绩2”和“成绩3”编辑框中输入成绩后,单击计算平均分按钮,将显示出这三个成绩的平均分。四、试验步骤:(1)打开前面的Ex_CommCtrls。(2)向应用程序中添加一个对话框资源,打开属性对话框将其标题改为“使用编辑框”,ID号改为IDD_EDIT。(3) 用编辑器为对话框添加如下表所示的一些

6、控件。(4)双击对话框模板或按Ctrl+W快捷键,为对话框资源IDD_EDIT创建一个对话框类CEditDlg。 (5)打开ClassWizard的Member Variables标签,在Class name中选择CEditDlg,选中所需的控件ID号,双击鼠标或单击Add Variables按钮。依次为控件增加成员变量。 (6)切换到ClassWizard的Messsage Maps标签页,为CEditDlg增加WM_INITDIALOG的消息映射,并添加下列代码: BOOL CEditDlg:OnInitDialog() CDialog:OnInitDialog(); m_strAve =

7、 0.00; UpdateData(FALSE);/ 将成员变量数据传给控件,并在控件中显示 return TRUE; (7)用ClassWziard为按钮IDC_BUTTON1添加BN_CLICKED的消息映射,并增加下列代码: void CEditDlg:OnButton1() UpdateData(); / 将控件显示的数据传给成员变量 double ave = (double)(m_nScore1+m_nScore2+m_nScore3)/3.0; m_strAve.Format(%6.2f, ave); UpdateData(FALSE); / 将成员变量数据传给控件并显示 (8)定

8、位到CEx_CommCtrlsDlg:OnButton1函数处,修改代码如下: if (nID = IDC_RADIO1) CEditDlg dlg; dlg.DoModal(); (9)在Ex_CommCtrlsDlg.cpp文件的开始处,增加包含CEditDlg的头文件。 #include “EditDlg.h” (10)编译运行并测试。五、实验报告依据本节实验内容书写实验报告,包括如下内容:(1)实验目的(2)实验环境(3)操作步骤(4)遇到的问题及解决方法(5)回答实验问题(6)实验心得和体会 实验三: 列表控件一、实验目的: 1. 掌握列表控件的风格 2掌握列表控件通知消息 3掌握列

9、表控件的几种基本操作二、实验环境: Windows 2000 Professional Visual C+ 6.0 Enterprise三、实验内容 1、将一个SCORE结构(含有三门成绩的数据成员)数据和列表框中每一个学生姓名列表关联起来。用户单击添加记录按钮时,学生成绩记录中的“姓名”被添加在列表框中,该学生的成绩与该列表项关联。单击删除记录时,列表框中当前选择项被删除,相关联的数据所占的内容空间被释放。任何时候选中列表框中某个学生,相应的记录数据都被显示出来四、试验步骤:(1)打开前面创建的基于对话框应用程序程序项目Ex_CommCtrls。(2)向应用程序中添加一个对话框资源IDD_L

10、ISTBOX,标题定为“使用列表框”,用ClassWizard为此对话框类定义为CListBoxDlg。(3)删除原来的Cancel按钮,用编辑器为对话框添加如下表所示的控件。 (4)打开ClassWizard的Member Variables页面,在Class name中选择CListBoxDlg,选中所需的控件ID号,双击鼠标或单击Add Variables按钮。 (5)切换到ClassWizard的Messsage Maps标签页,为按钮IDC_DATA_ADD添加BN_CLICKED的消息映射,增加代码: void CListBoxDlg:OnDataAdd() UpdateData(

11、TRUE); if (m_strName.IsEmpty() / 判断m_strName是否为空 MessageBox(姓名不能为空!); return; m_strName.TrimLeft(); / 裁剪m_strName左边的空格 m_strName.TrimRight(); / 裁剪m_strName右边的空格 if (m_List.FindString(-1,m_strName) != LB_ERR) MessageBox(列表框中已有相同姓名,不能添加!); return; int nIndex = m_List.AddString(m_strName); / 向列表框添加学生姓名

12、 / 将该学生成绩与新增的列表项关联起来 SCORE data; data.score1 = m_nScore1; data.score2 = m_nScore2; data.score3 = m_nScore3; m_List.SetItemDataPtr(nIndex, new SCORE(data); (6)用ClassWizard为按钮IDC_DATA_DEL添加BN_CLICKED的消息映射,增加代码: void CListBoxDlg:OnDataDel() int nIndex = m_List.GetCurSel(); / 获得当前选择项的索引 if (nIndex != LB

13、_ERR) m_List.DeleteString(nIndex); / 删除当前选择项 m_strName.Empty(); m_nScore1 = m_nScore2 = m_nScore3 = 0; UpdateData(FALSE); else MessageBox(当前没有选择项或列表框操作失败!); (7)用ClassWizard为按钮IDC_LIST1添加LBN_SELCHANGE的消息映射,增加代码: void CListBoxDlg:OnSelchangeList1() int nIndex = m_List.GetCurSel(); if (nIndex != LB_ERR

14、) m_List.GetText(nIndex, m_strName); SCORE *data=(SCORE *)m_List.GetItemDataPtr(nIndex); m_nScore1 = data-score1; m_nScore2 = data-score2; m_nScore3 = data-score3; UpdateData(FALSE); (8)用ClassWizard为对话框添加WM_DESTROY的消息映射,增加代码: void CListBoxDlg:OnDestroy() / 此消息是当对话框关闭时发送的 for (int nIndex = m_List.Get

15、Count()-1; nIndex=0; nIndex-) / 删除所有与列表项相关联的SCORE结构数据,并释放内存 delete (SCORE *)m_List.GetItemDataPtr(nIndex); CDialog:OnDestroy(); / 关闭对话框 (9)打开ListBoxDlg.h源文件,在类CListBoxDlg定义的public处添加下列代码: public: struct SCORE int score1; int score2; int score3; ;(10) 定位到CEx_CommCtrlsDlg:OnButton1函数处,修改代码如下: if (nID

16、= IDC_RADIO2) CListBoxDlg dlg; dlg.DoModal(); (11)在Ex_CommCtrlsDlg.cpp文件的开始处,增加包含CListBoxDlg的头文件。 #include “ListBoxDlg.h”(12) 编译运行并测试。 五、实验报告依据本节实验内容书写实验报告,包括如下内容:(1)实验目的(2)实验环境(3)操作步骤(4)遇到的问题及解决方法(5)回答实验问题(6)实验心得和体会 实验四: 组合控件实例一、实验目的: 1. 了解组合控件风格 2掌握组合控件通知消息 3掌握组合控件几种基本操作二、实验环境: Windows 2000 Profes

17、sional Visual C+ 6.0 Enterprise三、实验内容 1、根据用户从组合框中选择的填充样式,在对话框中绘制一个矩形区域四、试验步骤:(1)打开前面创建的基于对话框应用程序程序项目Ex_CommCtrls。(2)向应用程序中添加一个对话框资源IDD_COMBO,标题定为“使用组合框”,用ClassWizard为此对话框类定义为CComboDlg。(3) 删除原来的Cancel按钮,用编辑器为对话框添加控件。 (4)打开ClassWizard的Member Variables标签,为组合框IDC_PATTERN增加成员变量m_Pattern,其类型为Control类的CCom

18、boBox 。(5)为CComboDlg类添加一个int类型的成员变量m_nDrawPattern。(6)切换到ClassWizard的Messsage Maps标签页,为组合框IDC_PATTERN添加CBN_SELCHANGE(组合框中的当前选项发生改变)的消息映射,并增加下列代码:void CComboDlg:OnSelchangePattern() int nIndex = m_Pattern.GetCurSel();/ 获得当前选项的索引 if (nIndex != CB_ERR) m_nDrawPattern = m_Pattern.GetItemData(nIndex); / 获

19、得与当前选项相关联的数据 Invalidate(); / 强制系统调用OnPaint函数重新绘制 (7)用ClassWizard为对话框添加WM_PAINT的消息映射,并增加下列代码: void CComboDlg:OnPaint() CPaintDC dc(this); / device context for painting(绘图所必须的设备环境) CWnd* pWnd = GetDlgItem(IDC_DRAW);/ 获得控件IDC_DRAW的窗口指针 pWnd-UpdateWindow(); / 避免系统自动重绘 CDC* pDC = pWnd-GetDC(); / 获得所需要的绘图

20、设备环境 CBrush drawBrush; / 定义一个画刷 drawBrush.CreateHatchBrush(m_nDrawPattern,RGB(0,0,0);/ 创建画刷 CBrush* pOldBrush = pDC-SelectObject(&drawBrush); / 将画刷选入当前设备环境中 CRect rcClient; / 定义一个CRect变量 pWnd-GetClientRect(rcClient); / 获得窗口客户区大小 pDC-Rectangle(rcClient); / 用当前画刷绘制一个矩形区域 pDC-SelectObject(pOldBrush); /

21、 恢复设备环境原来的画刷设置 (8)用ClassWizard为对话框添加WM_INITDIALOG的消息映射,增加代码:BOOL CComboDlg:OnInitDialog() CDialog:OnInitDialog(); CString str6 = 水平线,竖直线,向下斜线,向上斜线,十字线,交叉线; int nIndex; for (int i=0; iUpdateWindow(); Draw(); (7)用ClassWizard为对话框添加WM_INITDIALOG的消息映射,增加代码: BOOL CScrollDlg:OnInitDialog() CDialog:OnInitDi

22、alog(); / 设置滚动条和滑动条的范围和当前位置 m_Scroll.SetScrollRange(0,255); m_Scroll.SetScrollPos(m_RValue); m_Slider.SetRange(0,255); m_Slider.SetPos(m_GValue); / 设置旋转按钮的范围 m_Spin.SetRange(0,255); UpdateData(FALSE); / 将数据传给控件 m_bEditOK = TRUE; return TRUE; (8)用ClassWizard为对话框添加WM_HSCROLL的消息映射,增加代码: void CScrollDlg

23、:OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) int nID = pScrollBar-GetDlgCtrlID(); if (nID = IDC_SLIDER1) / 是滑动条产生水平滚动消息 m_GValue = m_Slider.GetPos();/ 获得滑动条当前的位置 if (nID = IDC_SCROLLBAR1) / 是滚动条条产生水平滚动消息 switch(nSBCode) case SB_LINELEFT:m_RValue-; break; case SB_LINERIGHT:m_RValue+; b

24、reak; case SB_PAGELEFT: m_RValue -= 10; break; case SB_PAGERIGHT:m_RValue += 10; break; case SB_THUMBTRACK:m_RValue = nPos;break; if (m_RValue255) m_RValue = 255; m_Scroll.SetScrollPos(m_RValue); UpdateData(FALSE); Draw(); CDialog:OnHScroll(nSBCode, nPos, pScrollBar); (9)将项目工作区切换到ClassView页面,用鼠标右击“CScrollDlg”项,在弹出的快捷菜单中选中“Add Member Function”,将要增加的函数名设为Draw,函数类型为void,并添加下列代码: void CScrollDlg:Draw() CWnd* pWnd = GetDlgItem(IDC_DRAW); CDC* pDC = pWnd-GetDC(); / 获得窗口当前的设备环境指针 CBrush drawBrush; / 定义画刷变量 drawBrush.CreateSolidBrush(RGB(m_RValue,m_GValue,m_BValue); / 创建一个填充色画刷。 /

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1