欢迎来到天天文库
浏览记录
ID:5466394
大小:203.00 KB
页数:22页
时间:2017-12-13
《清华大学c++和vc++课件vc_3_13a》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象与可视化程序设计--VisualC++编程主讲教师:唐龙教授(计算机科学与技术系)黄维通博士(计算机与信息管理中心)清华大学2001年10月6/11/20211第十三章滚动条类及其应用6/11/20212内容提要滚动条类简介滚动条类控件的应用6/11/20213§13.1.滚动条类简介6/11/202141.滚动条和滚动条类滚动条是可视化的交互式控件,它包括一个滑块、滚动条的两端的按钮等。两种不同的滚动条滚动条控件——由用户创建、管理和释放的属于窗口的滚动条——由该窗口创建、管理和释放的。作为任何一个窗口的子控件,滚动条可以
2、通过通知代码来创建,但也可以用对话框资源模板来创建。6/11/20215滚动条类Cscrollbar是由CWnd类直接派生的。6/11/202162.CScrollBar类的创建与初始化关键字new和构造函数CScrollBar::CScrollBar()为一个ScrollBar对象分配一个实例CScrollBar::pMyScroll=newCScrollBar;初始化CScrollBar对象,将一个Windows滚动条赋予它,并用CScroll::Create()方法设置参数和样式BOOLCreate(DWORDdwStyle,
3、//滚动条窗口的样式constRECT&rect,//表示控件的大小和位置CWnd*pParentWnd,//指向控件所属窗口的指针UINTnID);//父窗口的标识6/11/202173.滚动条的设置调用CScrollBar::SetScrollRange()设置滚动条控件范围。例如,设置滚动范围为-100到100的垂直滚动条pMyScroll->SetScrollRange(SB_VERT,-100,100);调用SetScrollPos()设置滚动块当前位置。例如,滚动快的位置在-100到100的中间,即为0的位置pMyScr
4、oller->SetScrollPos(0);6/11/20218§13.2.滚动条类的应用技术6/11/20219[例13-1]带滚动条类的应用程序,其界面标题为ApplicationofScrollBar,滚动条的滚动范围设为0到20,当前值为10,编辑框显示当前值。四个按键控制滚动条动作:单击Up按钮,滚动块移到最上边,编辑框的数字变为0单击Down按钮,滚动块移到最下边,编辑框的数字变为20;单击Reset按钮,滚动块移到中间,编辑框的数字变为10单击Exit按钮,退出应用程序。6/11/202110单击Up,滚动块移到最上
5、边单击Down,滚动块移到最下边单击Reset,滚动块移到中间,编辑框的数字为10单击Exit,退出应用程序单击上/下的箭头,滚动块向上/向下移动一格,编辑框中的数字加1或减1拖动滚动块。编辑框中的数字随之变化单击滚动块与箭头之间的区域。滚动块上移或下移三格,编辑框中的数字加3或减3编辑框显示当前滚动块位置6/11/202111应用程序的可视化编程应用程序的代码编程(1)给滚动条连接变量ID变量名类别类型IDC_SCROLLBARm_ScrollbarControlCscrollbarIDC_EDITlm_EditControlCE
6、dit6/11/202112BOOLCSCROLLBARDlg::OnInitDialog(){CDialog::OnInitDialog();ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);//加“About...”菜单项。ASSERT(IDM_ABOUTBOX<0xF000);//IDM_ABOUTBOX应在系统命令范围内CMenu*pSysMenu=GetSystemMenu(FALSE);if(pSysMenu!=NULL){CStringstrAboutMenu;strAboutMe
7、nu.LoadString(IDS_ABOUTBOX);if(!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);}}(2)初始化滚动条6/11/202113//为该对话框设置图标,当该应用程序的主窗口不是一个对话框时,程序将自动设置图标SetIcon(m_hIcon,TRUE);//SetbigiconSetIcon(m_hIcon,FALSE);/
8、/Setsmalliconm_Scrollbar.SetScrollRange(0,20);m_Scrollbar.SetScrollPos(10);charsPos[10];itoa(m_Scrollbar.GetScrollPos
此文档下载收益归作者所有