已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
孙乾程 10104060218 计科102班实验二 使用MFC进行可视化编程中的标准控件实验目的 熟悉使用Windows控件,使用MFC进行基于对话框的可视化程序设计。同时,掌握使用MFC和向导来编写Windows应用程序。控件是Windows图形用户界面的主要组成部分之一,用户通过操作控件对象完成与应用程序之间的交互。本实验要求通过对控件相关知识的学习,目的是要掌握静态控件、按钮、流动条、编辑框、列表框、组合框和对话框的创建、消息发送和控件控制等内容。实验原理利用Visual C+ 6.0开发环境,对实验所要求的程序设计项目,编辑C语言源程序并形成 .cpp 源代码文件,再编译.cpp 文件形成 .boj 目标代码文件,经过.boj文件与系统标准代码的连接形成 .exe 可执行代码文件,运行.exe文件以得到实验所期望的结果。实验要求(1)掌握MFC类的层次结构及主要类的用法;(2)使用应用程序向导创建MFC类的Windows应用程序;(3)使用静态控件、按钮、流动条、编辑框、列表框、组合框和对话框等创建应用程序。实验环境硬件环境:奔3以上处理器,512MB以上内存空间;软件环境:windows2000以上操作系统,VC6.0编译环境。实验内容1. 按下面界面设计程序界面。在上面的编辑框中填上姓名,当点击得到数据属性按钮就得到下面文字。左下方通过滚动条可以设置静态框的颜色。右下面有四个按钮。“得到数据属性”按钮源代码:void CTest91Dlg:OnButton1() / TODO: Add your control notification handler code herethis-UpdateData();CString sexStr,scoreStr,classStr;if(m_radio1=0) sexStr=男;else sexStr=女;if(m_radio2=0) scoreStr=及格;else scoreStr=不及格;if(m_check1=TRUE) classStr=一班;if(m_check2=TRUE) classStr=二班;if(m_check3=TRUE) classStr=四班;if(m_check4=TRUE) classStr=三班;m_edit1=m_edit2+sexStr+ +scoreStr+ +classStr; this-UpdateData(FALSE);“水平滚动条”源代码:void CTest91Dlg:OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) / TODO: Add your message handler code here and/or call defaultint iNum=pScrollBar-GetScrollPos();if(nSBCode=SB_LINELEFT) pScrollBar-SetScrollPos(iNum-1);if(nSBCode=SB_LINERIGHT) pScrollBar-SetScrollPos(iNum+1);if(nSBCode=SB_PAGELEFT) pScrollBar-SetScrollPos(iNum-10);if(nSBCode=SB_PAGERIGHT) pScrollBar-SetScrollPos(iNum+10);if(nSBCode=SB_THUMBPOSITION) pScrollBar-SetScrollPos(nPos);if(nSBCode=SB_THUMBTRACK) pScrollBar-SetScrollPos(nPos);InvalidateRect(NULL,FALSE); UpdateWindow();CDialog:OnHScroll(nSBCode, nPos, pScrollBar);“颜色控制”源代码:HBRUSH CTest91Dlg:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) HBRUSH hbr = CDialog:OnCtlColor(pDC, pWnd, nCtlColor);/ TODO: Change any attributes of the DC hereif(pWnd-GetDlgCtrlID()=IDC_STATIC_COLOR)BYTE red=m_scollred.GetScrollPos();BYTE green=m_scollgreen.GetScrollPos();BYTE blue=m_scrollblue.GetScrollPos(); HBRUSH m_brush=CreateSolidBrush(RGB(red,green,blue);return m_brush;/ TODO: Return a different brush if the default is not desiredreturn hbr;点击最上面按钮结果如下把所有左面的字符串交到右面。“”按钮源代码:void CTest91Dlg:OnButton2() / TODO: Add your control notification handler code herefor(int i=0;im_List1.GetCount();i+)CString sd;m_List1.GetText(i,sd);m_List2.AddString(sd);m_List1.ResetContent();点击最下面一个按钮把所有左面的字符串交到右面。结果如下图所示。当点击第二个按钮把一个选中的数据放到右面。点击第三个按钮可以把右面一个选中的数据放到左面。2. 建立以下对话框有四个选项卡分别是编辑框,进度条,滑动条和树型控件。CTest92Dlg中OnSelchangeTab函数源代码:void CTest92Dlg:OnSelchangeTab(NMHDR* pNMHDR, LRESULT* pResult) / TODO: Add your control notification handler code hereint nCurSel=m_tab.GetCurSel();switch(nCurSel)case 0:d1.ShowWindow(SW_SHOW);d2.ShowWindow(SW_HIDE);d3.ShowWindow(SW_HIDE);d4.ShowWindow(SW_HIDE);break;case 1:d1.ShowWindow(SW_HIDE);d2.ShowWindow(SW_SHOW);d3.ShowWindow(SW_HIDE);d4.ShowWindow(SW_HIDE);break;case 2:d1.ShowWindow(SW_HIDE);d2.ShowWindow(SW_HIDE);d3.ShowWindow(SW_SHOW);d4.ShowWindow(SW_HIDE);break;case 3:d1.ShowWindow(SW_HIDE);d2.ShowWindow(SW_HIDE);d3.ShowWindow(SW_HIDE);d4.ShowWindow(SW_SHOW);break;*pResult = 0;进度条中的“时间控制”源代码:void CDialog2:OnTimer(UINT nIDEvent) / TODO: Add your message handler code here and/or call defaultm_progress.StepIt();if (m_progress.GetPos()=100)KillTimer(1);m_progress.SetPos(0);CDialog:OnTimer(nIDEvent);其中上部编辑框为数字,从0-100。下边一个是下拉框,下拉框的的数据是1,2,3,4。通过下拉下拉菜单可以设置编辑框进度条选项卡中存在进度条和一个按钮。点击这个按钮进度条每隔一秒钟就前进一格。当到进度条尽头时进度条归零并停止。滑动条的范围为0-10在属性控件中存在树型控件和list控件。出现的问题及解决方法(1)UpdateData()函数是用来刷新数据的。UpdateData(TRUE) :刷新控件的值到对应的变量;UpdateData(FALSE):拷贝变量值到控件显示;(2)GetWindowText函数原型:Int GetWindowText(HWND hWnd,LPTSTR lpString,Int nMaxCount);其中IpString是指向接收文本的缓冲区的指针,本题中需要调用该函数将四则运算符号拷贝到缓冲区
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市朝阳区北京中学2024-2025学年八年级上学期期中物理试卷(无答案)
- 沧州临港经济技术开发区东区支三路道路及配套项目环评报告表
- 2014-2020年全球IP电话机行业市场调研分析报告
- 2014-2018年糖蜜行业战略投资分析研究报告
- 2024至2030年中国抗静电PVC托盘数据监测研究报告
- 2012注册会计师考试审计真题及答案B卷
- 2011-2015年氯磺化聚乙烯运营态势及前景预测分析报告
- 2024至2030年中国对夹式双瓣止回阀数据监测研究报告
- 2024至2030年中国双流程板网组合式板式换热器行业投资前景及策略咨询研究报告
- 2024至2030年中国三色果冻机数据监测研究报告
- 物资的采购接、保、检、运措施
- 小学体育与健康人教二年级全一册第一部分课程目标与教学内容设计构想体育教学设计武术
- 广告制作技术方案
- 【课件】 我们怎样鉴赏美术作品 课件-2022-2023学年高中美术湘美版(2019)美术鉴赏
- 煤矿通风系统现状及智能通风系统设计
- 小学劳动教育 北师大版 三年级 活动《土豆成长我观察》 课件
- 加氢裂化 精品课件
- 2022年教师事业单位年度考核登记表个人总结
- 马克思主义“五观”教育
- 物理化学教案:第02章-多相多组分系统热力学-教案
- 储罐及管道防腐保温施工方案
评论
0/150
提交评论