欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    VC常用控件的使用.doc

    • 资源ID:54340392       资源大小:36KB        全文页数:8页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VC常用控件的使用.doc

    教 案2007 2008 学年第一学期主 讲 教 师课 程 名 称面向对象程序设计(VC+)课程类别专业基础课学时及学分80、4授 课 班 级使 用 教 材 VC+的使用及面向对象软件工程实例分析系(院、部) 教研室(实验室) 计算机应用教研室课时授课计划课次序号: 一、课题ch373.9 常用控件进度条、微调控件、滑动条、滚动条的使用二、课型:讲授三、目的要求:1、 熟悉这四种相近的控件的功能与应用区别2、 掌握四种控件的使用方法3、 学会使用定时器四、重点、难点:控件的使用是重点,其中滚动条的使用较复杂一些,是一个难点。 五、教学方法及手段:结合实例讲解控件的功能与简单应用,然后总结控件的消息和主要操作。六、参考资料:面向对象程序设计与VC+实践,揣锦华编著,西安电子科技大学出版社,第10章VC+使用教程(第2版),郑阿奇等编著,电子工业出版社,第5章七、作业:(1) 完成思考题(2) 习题3.10八、授课记录:授课日期班次九、授课效果分析:十、教学进程(教学内容、教学环节及时间分配等)1、 复习列表框和组合框的功能与使用方法的异同点。2、 导入课题进度条用于在一个冗长的操作中给用户一个可视的进度窗口;微调控件用于与编辑框控件一起方便用户输入数字;滑动条常用于在一个范围内通过滑块的移动选择一个值,滚动条用于选择某个范围内的一个值。3、 教学内容ch3.7 进度条一般用于输出某个操作的当前进度情况。进度调控件类:CprogressCtrl基本操作:见表3.28SetRange():设置进度条的范围 ;GetRange():获取范围SetPos():设置进度条的当前位置 ; GetPos():获取单前位置SetStep():设置每一步的增量SetIt():进度条增加一步应用:通过进度条对应的控件变量的成员函数GetPos()函数取得进度条的当前值。例1:进度条的范围设置为0100,单击“自动”按钮,启动定时器,以后每隔0.1s进度条推进一步。分析:定时器的使用SetTime(0,100,NULL):设置0号定时器,定时为100ms,定时时间到则发出WM_TIMER消息。KillTimer(0):撤销0号定时器。成功则返回true,否则返回false。定时时间到的事件处理:在WM_TIMER的消息映射函数OnTimer()中实现。实现步骤:(1) 创建对话框应用程序 Progress(2) 设计界面:进度调控件、“自动”按钮;设置进度调控件的属性和风格(3) 添加变量:m_Progress CprogressCtrl类型(4) 添加初始化代码:在OnInitDialog()函数中添加进度条的范围、步长设置。 m_Progress.SetRange(0,100); m_Progress.SetStep(10);(5) 添加“自动”按钮的消息映射及函数:SetTimer(0,100,NULL); /启动定时器(6) 为对话框窗口添加定时器的WM_TIMER的消息函数。(CprogressDlg类的消息)函数名固定为OnTimer(),添加代码如下: m_Progress.StepIt(); /进度条推进一步(7) 编译、连接、运行。结果:进度条的进度指示反复从左到右,不停止。(8) 改进:在OnTimer()函数中增加判断进度条是否到最大值的判断。代码如下:if(m_Progress.GetPos()=100) /当进度快到达最大值时,停止计时器 KillTimer(0);例2:用“自动”或“手动”两种方法控制进度条的递增。即当单击“自动”按钮时,开始按定时器的时间自动递增;若单击“手动”按钮,则“前进”按钮可用,每单击一次进度条递增一步,直至到达最大值。练习要点:“前进”按钮的初始化状态为“不可用”,代码:GetDlgItem(IDC_BUTTON3)-> EnableWindow(false);“前进”按钮的单击消息映射函数代码同OnTimer( )ch3.8 微调按钮又称“旋转按钮”,一般与编辑框一起使用。当单击微调按钮的箭头时增大或减小一个数值,该数值显示在他的伙伴窗口编辑框中。伙伴窗口的设置:微调按钮的前一个Tab键控件。属性设置:必须选中“Auto buddy”和“Set buddy integer”基本操作:设置范围、设置当前位置等,见表3.30应用:利用编辑框对应的int型变量取得微调按钮的当前值。例3:用三个微调按钮设置红、绿、兰三原色,在静态文本框中显示相应的颜色。思路分析:当微调按钮的值发生变化时,发送UDN_DELTAPOS消息,添加该消息的映射函数(取得微调按钮的当前值,并调用对话框的Draw()函数重画静态文本控件。主要实现步骤:(1)设置微调按钮的属性:“Auto buddy”和“Set buddy integer”(2)添加微调按钮的变量(控件变量,如m_pRed)、编辑框的变量(int型,如m_Red)(3)添加微调按钮的UDN_DELTAPOS消息映射函数:(比如,表示红色的微调按钮的) void CEx_spinDlg:OnDeltaposSpinRed(NMHDR* pNMHDR, LRESULT* pResult) NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;/ TODO: Add your control notification handler code hereUpdateData(true);Draw();*pResult = 0;(4)为对话框类CspinDlg添加Draw()函数:在Class View页面,右击CspinDlg,在弹出的快捷菜单中选中“Add Member Function”,设置函数名Draw、函数类型void,并添加如下代码: void CEx_spinDlg:Draw()CWnd *pWnd= (CWnd*)GetDlgItem(IDC_STATIC_COLOR);CDC *pDC=pWnd->GetDC();CBrush drawBrush;drawBrush.CreateSolidBrush(RGB(m_Red,m_Green,m_Blue);CBrush *pOldBrush=pDC->SelectObject(&drawBrush);CRect rc;pWnd->GetClientRect(rc);pDC->Rectangle(rc);pDC->SelectObject(pOldBrush);(5)编译、连接、运行。可以看到三原色的变化的结果。 还可以直接在编辑框中输入某种颜色的值,查看结果。 结论:编辑框的变量与微调按钮的调整自动对应。Ch3.9 滚动条和滑杆一、 滚动条:1、滚动条的基本操作:即CscrollBar类的主要成员函数 设置滚动条的范围:SetScrollRange(int nMin, int nMax, bool redraw) 设置滚动块的位置:SetScrollPos(int nPos, bool redraw) 取得滚动条的当前位置:GetScrollPos() 获取滚动条的范围:GetScrollRange(LPINT MinPos, LPINT MaxPos)2、滚动条的消息:WM_HSCROLL和 WM_VSCROLL 当用户对滚动条操作时,滚动条就向父窗口发送WM_HSCROLL或 WM_VSCROLL消息。该消息通过类向导在对话框(滚动条的父窗口)种进行映射,相应的映射函数分别为:OnHScroll()和OnVScroll(),函数原型: OnHScroll(UINT nSBCode, UINT nPos, CscrollBar *pScrollBar); 参数说明:nSBCode 表示滚动条的通知消息 nPos 表示滚动块的当前位置 pScrollBar 表示滚动条控件的指针当用户单击滚动条的不同位置时,产生不同的通知消息: SB_LEFT,SB_RIGHT ; SB_TOP, SB_BOTTOM ; SB_LINEUP , SB_LINEDOWN; SB_LINELEFT, SB_LINERIGHTSB_PAGELEFT, SB_PAGERIGHT; SB_PAGEUP, SB_PAGEDOWN; SB_THUMBTRACK(拖动滚动块时)以上消息代码来自于WM_HSCROOL或 WM_VSCROOL.3、应用特点:(1) 在OnHScroll()和OnVScroll()函数中需要用switch语句判断具体是哪个通知消息(用户进行了何种操作),然后用SWITCH语句分别对不同的通知消息左不同的处理。(2) 滚动条中的滚动块不会自动随用户的操作移动,因此需要用SetScrollPos()函数来及时的设置滚动块的位置。二、 滑杆:又称“滑动条”。可以通过鼠标拖动、单击滑块的任意一侧、或者使用键盘移动滑块。应用场合:选择离散数值或某个范围内的彝族连续数值时常用。滑杆控件类CsliderCtrl的主要成员函数(即滑杆的基本操作):设置范围、设置当前值、设置滑杆控件的增量、取得滑杆的当前值等见表3.34.滑杆的风格:表3.35滑杆的消息:同滚动条三、应用举例4:将例3中调节绿色的微调按钮改为滚动条、将蓝色的微调按钮改为滑杆。程序名:ex_scroll ,Draw()同上。实现步骤:(1) 添加滑杆控件和滚动条控件,代替蓝色和绿色调节微调按钮。并设置属性。(2) 添加变量:三个编辑框的int 型变量m_Red、m_Green、m_Blue,三个控件对应的控件类型变量m_pSpin m_pScroll m_pSlider。(3) 在OnInitDialog()函数种添加控件的初始化代码: m_pSpin.SetRange(0,255);m_pSpin.SetPos(m_Red);m_pSlider.SetRange(0,255);m_pSlider.SetPos(m_Blue);m_pScroll.SetScrollRange(0,255);m_pScroll.SetScrollPos(m_Green);(4) 添加滑杆的NM_CUSTOMDRAW消息映射函数:void CEx_scrollDlg:OnCustomdrawSlider1(NMHDR* pNMHDR, LRESULT* pResult) / TODO: Add your control notification handler code herem_Blue=m_pSlider.GetPos();UpdateData(false);Draw();*pResult = 0;(5) 添加对话框类的WM_HSCROLL消息映射函数: void CEx_scrollDlg:OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) / TODO: Add your message handler code here and/or call defaultint nID=pScrollBar->GetDlgCtrlID(); /取得产生消息的控件IDif(nID=IDC_SCROLLBAR1) /是滚动条产生的水平滚动消息switch(nSBCode)case SB_LINELEFT: m_Green-; break; /单击左箭头case SB_LINERIGHT:m_Green+; break;case SB_PAGELEFT: m_Green-=10; break; /单击左边空白处case SB_PAGERIGHT: m_Green+=10; break;case SB_THUMBTRACK: m_Green=nPos; /拖动滚动块if(m_Green<0) m_Green=0;else if(m_Green>255)m_Green=255;m_pScroll.SetScrollPos(m_Green); /设置滚动块的当前位置UpdateData(false);Draw();CDialog:OnHScroll(nSBCode, nPos, pScrollBar);提示:每添加一个控件的消息映射函数,运行一次,逐个体会控件的功能和用法。思考:(1) 如何实现“用户通过编辑框输入来改变颜色值?”提示:为三个添加编辑框添加同一个EN_CHANGE消息映射函数,设置三个控件的当前位置(2) 如何改变滑杆的递增/减步长?提示:用SetTicFreq()设置刻度线的频率 4、 课堂总结进度条、微调控件的基本操作:设置范围、设置初始位置、取得当前值。控件的应用特点:微调按钮与编辑框的“伙伴关系”、滚动条的消息处理函数以及滚动块的位置设置。定时器的使用:设置、撤销、定时响应函数OnTimer().添加非消息映射函数(如Draw)的方法。5、布置作业(3) 完成思考题(4) 习题3.10

    注意事项

    本文(VC常用控件的使用.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开