




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验二 使用MFC进行可视化编程中的标准控件实验目的 熟悉使用Windows控件,使用MFC进行基于对话框的可视化程序设计。实验环境硬件环境:奔3以上处理器,512MB以上内存空间软件环境:windows2000以上操作系统,VC6.0编译环境。实验内容与完成情况(附上有价值的实验步骤和结果)1. 建立一个基于单文档的应用程序,最后一步为view视图类选择基类为CFormView。2. 添加一个空间listctrl,其属性要设置为view :report。勾选single selection。3. 引入ADO组件。在StdAfx.h文件中加上以下代码:#import C:Program FilesCommon FilesSystemadomsado15.dll named_guids rename(EOF,adoEOF),rename(BOF,adoBOF)using namespace ADODB;msado15.dll是ADO的组件对象3. 为视图类添加两个变量 _RecordsetPtr m_pRecordset;_ConnectionPtr m_pConnection;为智能指针,对数据库的连接操作都要通过这个两个指针4. 为视图类添加一个函数void OnInitADOCon();进行数据库连接初始化智能指针m_pConnection;m_pConnection.CreateInstance(ADODB.Connection);建立连接CString strConnect = Provider = Microsoft.Jet.OLEDB.4.0;Data Source = 学生.mdb; Persist Security Info = False;m_pConnection-Open(_bstr_t)strConnect, , , adModeUnknown);5. 定义一个学生类,作为数据库中学生表的一个映射类。在函数void CTSETView:OnInitialUpdate()中初始化控件。插入表头:各个参数的含义/参数1.新列,2.表头,3.对齐方式,4.列宽,5.子项索引m_cList.InsertColumn(0,学号,LVCFMT_LEFT,50, 0);连接数据库:调用函数OnInitADOCon();将数据库信息显示到控件上:在此要用到智能指针m_pRecordset;一下两句进行循环while(!m_pRecordset-adoEOF)m_pRecordset-MoveNext();显示数据 :m_cList.InsertItem(0, ); /无此句,无任何内容m_cList.SetItemText(0, 0, (char*)(_bstr_t)m_pRecordset-GetCollect(学号);至此数据库连接成功,运行显示6. 添加添加和删除快捷菜单:插入一个菜单为视图类添加WM_CONTEXTMENU消息处理函数:OnContextMenuCMenu popMenu;/声明菜单对象popMenu.LoadMenu(IDR_MENU_POP);/加载菜单资源popMenu.GetSubMenu(0)-TrackPopupMenu(TPM_LEFTALIGN, point.x, point.y, this);/得到子菜单指针。显示弹出菜单,并跟踪所选项再插入一个对话框实现对数据表的增删修改:为对话框声明一个类,并为各个控件声明合适的变量为菜单项编写函数实现菜单功能:添加学生信息:右击显示快捷菜单,单击添加弹出对话框:填入信息,点击确定实现学生信息的添加右击显示快捷菜单,单击删除如果之前没选中删除项择提示:否则删除成功:出现的问题及对问题的解决方法1. AfxMessageBox(数据库连接失败!);用第二句替换原先的CString strConnect /CString strConnect = DRIVER = Microsoft Access Driver (*.mdb);/uid=;pwd=;DBQ=学生.mdb;CString strConnect = Provider = Microsoft.Jet.OLEDB.4.0;Data Source = 学生.mdb; Persist Security Info = False;m_pConnection-Open(_bstr_t)strConnect, , , adModeUnknown);2.OnInitADOCon();/出错m_pRecordset-Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic, adCmdText);/adLockBatchOptimistic出错m_pRecordset的open函数参数出错3.m_cList.InsertItem(0, ); /无此句,无任何内容4.对于出生日期的类型以及显示格式声明为日期类型,以format控制小时格式。5.对于lisctrl的大小随文档的最大化实现改变可以为添加WM_SIZE消息处理函数OnSizem_cList.SetWindowPos(NULL, rect.left+10, rect.top, rect.Width()-10, rect.Height()-40, SWP_DRAWFRAME);实验思考 通过这次实验,我对VisualC+6 可视化编程环境已经比较熟悉,会构建框架窗口并进行一些常用控件的操作。对C+中的类有了更加深刻的理解,更加熟练地进行MFC 应用程序的创建,为控件添加消息映射,添加成员变量和成员函数。认识了C+中的一些库函数,并且能正确地调用它们。 在设计过程中也遇到过和多问题,比如函数类型和变量类型出错,控件的ID 和程序中的ID 不一致,忘记添加控件相应动作等种种问题。虽然有些知识在课本里看起来很简单,但在实际设计过程中却往往和容易出错,甚至出现一些你不曾想过的错误。在这次实验的完成过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购成本控制策略制定指南
- 一年级书信给老师的一封信150字7篇范文
- 早期阅读小鸟和大树课件
- 市场推广和联合营销合同书内容
- 人类请高抬贵手700字(12篇)
- 2025年日语J.TESTT级试卷
- 早孕健康知识培训课件
- 2025年三支一扶考试公共基础知识备考与模拟试卷
- 纪委监督检查知识培训课件
- 清华中学数学试卷
- 脑梗死病人-护理查房课件
- 美育PPT精选文档课件
- 医院介入手术病人护送交接流程
- 农机职业技能竞赛农机修理工理论题库
- 食品物流学:食品配送课件
- 学校家庭教育指导(班主任培训班) 课件
- 楼板厚度检测报告
- 精神发育迟滞课件
- (高职)物流运输管理电子课件(全套)
- 【老师必备】部编版三年级语文上册第一单元【集体备课】
- 《基础笔译》课程教学大纲
评论
0/150
提交评论