- 1、本文档共131页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC_面向对象与可视化程序设计 第九章 windows标准控 ....ppt
第9章--控件 清华大学计算机与信息管理中心黄维通 第9章 Windows 标准控件在可视化编程中的应用 控件是Windows 图形用户界面的主要组成部分之一,用户通过操作控件对象完成与应用程序之间的交互。控件的使用集中体现了Windows 系统面向对象的特点 9.1概述 9.2 按钮控件及其应用 9.2.1 按钮控件的创建过程 按钮控件消息: ON_BN_CLICKED ON_BN_DBLCLICKED ON_COMMAND GetCheck( ) SetCheck( ) GetBitmap() SetBitmap() GetButtonStyle() SetButtonStyle() GetCursor() SetCursor() GetIcon() SetIcon() GetState() SetState() MFC还提供了一个CBitmapButton的类,允许用户以图标的方式显示按钮,它是在CButtong下派生的 9.2.2 按钮控件示例 void CMy9_1Dlg::OnButton1() { m_btn1.SetWindowText(“你已按下了按钮!”); } void CMy9_1Dlg::OnButton2() { m_btn2.SetWindowText(“按钮已被按下!”); } void CMy9_1Dlg::OnCheck1() { if(m_chk1.GetCheck()0) m_chk1.SetCheck(0); else m_chk1.SetCheck(1); } void CMy9_1Dlg::OnRadio1() { m_rad1.SetCheck(1); } 9.3 滚动条控件 9.3.1 滚动条类的结构及其方法 常用滚动条动作标识及其说明 SB_TOP / SB_BOTTOM :滚动到滚动条最顶 / 底端 SB_LINEUP / SB_LINEDOWN:向上 / 下滚动一行 SB_LEFT / SB_RIGHT:滚动到左 / 右边 SB_LINELEFT / SB_LINERIGHT:向左 / 右滚动一行 SB_PAGEUP / SB_PAGEDOWN :向上 / 下滚动一页 SB_PAGELEFT / SB_PAGERIGHT :向左 / 右滚动一页 SB_THUMBPOSITION:滚动框移动到新位置 SB_THUMBTRACK:滚动框被拖动 SB_ENDSCROLL:滚动到最终位置 9.3.2 创建与初始化滚动条类 9.3.3滚动条类编程实例 BOOL CMy9_2Dlg::OnInitDialog() { CDialog::OnInitDialog(); …… // TODO: Add extra initialization here m_Scrollbar.SetScrollRange(0,20); m_Scrollbar.SetScrollPos(10); char sPos[10]; itoa(m_Scrollbar.GetScrollPos(),sPos,10); m_Edit.SetSel(0,-1); m_Edit.ReplaceSel(sPos); UpdateData(FALSE); return TRUE; } (3) 给滚动条消息添加代码 void CMy9_2Dlg::OnVScroll(……) { // TODO: Add your message handler code here char sPos[10]; int iNowPos; switch(nSBCode) { if(pScrollBar==m_Scrollbar) { case SB_THUMBTRACK: //拖动滑块 m_Scrollbar.SetScrollPos(nPos); itoa(nPos,sPos,10); m_Edit.SetSel(0,-1); m_Edit.ReplaceSel(sPos); case SB_LINEDOWN: //单击滚动条向下的箭头 iNowPos=m_Scrollbar.GetScrollPos(); iNowPos=iNowPos+1; if(iNowPos20) iNowPos=20; m_Scrollbar.SetScrollPos(iNowPos); itoa(m_Scrollbar.GetScrollPos(),sPos,10); m_Edit.SetSel(0,-1); m_Edit.ReplaceSel(sPos); break; case
文档评论(0)