欢迎来到天天文库
浏览记录
ID:39994246
大小:457.31 KB
页数:35页
时间:2019-07-16
《windowsc程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象与可视化程序设计--VisualC++编程主讲教师:唐龙教授(计算机科学与技术系)黄维通博士(计算机与信息管理中心)清华大学2001年11月7/25/20211第十四章按钮类与列表框类及其应用7/25/20212内容提要按钮控件及其方法列表框控件及其方法按钮控件的应用列表框控件的应用7/25/20213§14.1.按钮控件7/25/202141.常见的按钮控件复选框(Checkboxes)常用于只有两种完全相反状态的情况下单选按钮(Radiobuttons)适用于同一组属性相同的数据中选一个数据下压式按钮(Push
2、buttons)适用于消息的发送分组框(Groupboxes)没有太多的操作只是在窗口中划分区域范围52.Cbutton类和CBitmapButton类Cbutton类是CWnd类直接派生的。CBitmapButton类又是Cbutton类直接派生的。在AfxWin.h中定义了Cbutton类。63.Cbutton类样式和方法按钮不仅继承了一般的窗口式样,还可用winuser.h中所定义的按钮特有的式样。Cbutton类提供一些很有用的方法。7/25/202173.Cbutton类样式和方法7/25/202187/25/2
3、02194.CBitmapButton类的方法LoadBitmaps()为CBitmapButton对象附上位图,最多可有4个位图,这些位图从资源文件中读取;AutoLoad()将对话框按钮和CBitmapButton()对象联系起来;SizeToContent()用于调整位图的尺寸大小。DrawItem()自动在一个按钮的用户区上画上位图,即用户可以自定义按钮。7/25/202110§14.2.列表框控件7/25/2021111.列表框的用处常用于从众多数据中选某一项(单项)或某几项(多项),如在对话框里,用列表框选择文
4、件名、目录等。可以自带滚动条。有预定义的键盘接口,实现交互操作。可用键盘上的方向(箭头)键和PageUp或PageDown键,在列表框中进行数据的选择;设置适当的样式后,可与Shift或Ctrl键组合用。7/25/202112CListBox类是CWnd类派生。在AfxWin.h中定义了CListBox类。CListBox类控件有多种可用的样式。2.CListBox类及其样式7/25/2021137/25/202114特别值得注意的是具有LBS_NOTIFY样式的列表框将向其父窗口发送通知消息,要按消息映象项和消息处理方法
5、来捕获和处理这些消息。消息映像项使用下面的基本格式:ON_Message(ControlID,ClassMethod)所有者类声明中的方法原型afx_msgvoidClassMethod();发送消息的列表框控件的子窗口标识处理消息的父类方法的名字7/25/2021157/25/2021163.CListBox类的方法通用方法单项选择特定方法多项选择特定方法字符串指定的方法虚拟方法7/25/202117(1)通用方法通用方法用来获得和设置列表框数据的值和属性,所有的CListBox列表框,包括单选列表框、多选列表框和自绘列
6、表框等都有这些方法。7/25/202118(2)单项选择特定方法列表框的默认模式是单选项模式;所有的通用方法均适用于单选项列表框。只有两个类方法专门处理单选项列表框GetCurSel()获得当前选择列表框项的下标(基于0)SetCurSel()选择列表框字符串。7/25/202119特定多项选择列表框的CListBox类方法GetAnchorIndex()获取当前定位项的下标GetCaretIndex()获取具有光标矩形的项的下标GetSelCount()获取当前所选的项的数目GetSelItems()将所有当前被选项下标
7、放入一整型数组缓冲区SelItemRange()切换多选择列表框项范围的选择状态SetAnchorIndex()在框中扩充选择设置开始(定位)项SetCaretIndex()在框中指定下标项设置光标矩形SetSel()在框中切换项目的选择状态(3)多项选择特定方法扩展了标准单选列表框的能力,解决了在一个列表框中选择多项带来的复杂性7/25/202120(4)字符串指定的方法CLstBox指定列表框中字符串的方法AddString()加入一个字符串DeleteString()删除一个字符串Dir()从当前目录加文件名放入列表
8、框FindString()搜索一字符串FindStringExact()搜索第一个与指定字符串匹配的字符串InsertString()在指定下标处插入一字符串ResetContent()清除列表框中的所有项SelectString()在单选列表框中搜索并选择一字符串7/25/202121(5)虚拟方法C
此文档下载收益归作者所有