(已读)第十二章列表框和组合框
- 格式:docx
- 大小:20.23 KB
- 文档页数:7
1.在窗体上画一个文本框(其名称为TEXT1)和一个标签(其名称为LABEI1),程序运行后,如果在文本框中输入指定的信息,则立即在标签中显示相同的内容,以下可以实现上述操作的事件过程是( )。
(2006.9)A)private sub textl_click() B) private sub textl_change()LabeLl. caption= textl. Text LabeI.l. caption= textl. textEnd sub end subC)private sub LabeLl_change() D)private sub LabeLl_click()LabeLl. caption= textl. text LabeLl. caption—textl. textEnd sub end sub2.设窗体上有一个命令按钮数组,能够区分数组中各个按钮的属性是( )。
(2010.9) A) Name B)Index C) Caption D) Left3.窗体上有Listl.List2两个列表框,Listl中有若干列表项(见图),并有下面的程序:Private Sub Comandl_Click()For k= Listl. ListCount-l To O Step -lIf Listl. Selected(k) ThenList2. AddItem Listl. List(k)Listl. RemoveItem kEnd IfNext kEnd Sub程序运行时,按照图示在Listl中选中2个列表项,然后单击Commandl命令按钮,则产生的结果是( )。
(2009.9)A)在List2中插入了“外语”、“物理”两项B)在Listl中删除了“外语”、“物理”两项C)同时产生A)和B)的结果D)把Listl中最后1个列表项删除并插入到List2中4.窗体上有名称为Commandl的命令按钮和名称为Textl的文本框Private Sub Commandl_Click()Textl.Text -”程序设计”Textl.SetFocusEnd SubPrivate Sub Textl_GotFocus()Textl. Text一”等级考试”End Sub运行以上程序,单击命令按钮后( )A)文本框中显示的是“程序设计”,且焦点在文本框中B)文本框中显示的是“等级考试”,且焦点在文本框中C)文本框中显示的是“程序设计”,且焦点在命令按钮上D)文本框中显示的是“等级考试”,且焦点在命令按钮上5.设窗体上有一个列表框控件Listl,含有若干列表项。
[教案](七)列表框、组合框和滚动条授课方式:讲授法授课学时:4学时教学目的:通过本次课的学习,学生应该掌握列表框、组合框和滚动条控件的常用属性、方法和事件,并能够灵活的运用。
教学重点和难点:1.列表框和组合框的属性和方法;2.滚动条的常用属性和事件。
教学过程:列表框、组合框和滚动条一、列表框(ListBox)和组合框(ComboBox)1.作用介绍列表框和组合框的基本作用,以及他们使用环境的区别。
2.两者共有的重要属性使学生掌握以下5个共有属性(1)List(2)ListIndex(3)ListCount(4)Sorted(5)Text3.列表框特有的重要属性通过例题讲解列表框特有的4个属性:(1)Columns(2)ItemData(3)MultiSelect(4)Selected4.组合框特有的重要属性通过例题讲解决定组合框的类型和行为style属性。
5.方法介绍两者共有的以下三种方法--AddItem方法、RemoveItem和Clear方法。
(1)方法可以实现的功能(2)方法调用的语法格式6.事件列表框响应Click及DblClick事件组合框响应Click事件,只有Style=1的时候简单二、滚动条(ScrollBars)1.种类:介绍两种滚动条--水平滚动条(HScrollBar)和垂直滚动条(VScrollBar)结构上的区别。
2.常用属性:通过例题讲解它的常用5个属性--Value属性、Max属性、Min属性、LargeChange 属性和SmallChange属性3.事件--Change事件和Scroll事件(1)事件的具体应用情况(2)区别两种事件触发条件的区别学生作业:上机实验五:1.列表框、组合框2.滚动条[讲稿](七)列表框、组合框和滚动条一、列表框(ListBox)和组合框(ComboBox)(一)、列表框ListBox1、作用:显示项目列表,用户可从中选择一个或多个项目。
计算机二级VB考点复习指导:列表框和组合框
(一)列表框
1.属性
列表框所支持的.标准属性包括Enabled、FontBold、FontItalic、FontName、FontUnderline、Height、Left、Top、Visible、Width。
此外,列表框还具有以下特殊属性:
(1)Columns
(2)List
(3)ListCount
(4)ListIndex
(5)MultiSelect
(6)Selected
(7)SelCount
(8)Sorted
(9)Style
(10)Text
2.列表框事件
列表框接收Click和DblClick事件,但有时不用编写Click事件过程代码,而是当单击一个命令按钮或发生DblClick事件时,读取Text 属性。
3.列表框方法
列表框可以使用AddItem、Clear和RemoveItem等方法,用来在运行程序期间修改列表框的内容。
(二)组合框
组合框(ComboBox)是由列表框和文本框的特性组合而成的控件。
或兼有列表框和文本框两者特性的控件。
1.组合框属性
列表框的属性基本上都可用于组合框,此外它还有自己的一些属性。
(1)Style
(2)Text
2.组合框事件
3.组合框方法
【2015计算机二级VB考点复习指导:列表框和组合框】。
上机练习:第1题:编制一个表单EXAM1.SCX,完成数字时钟显示功能(界面如图例所示)。
参考书P311T5、T9.具体要求如下:1.表单的位置在左上角,可移动,表单的边框为无边框;2.表单将自动以1秒间隔动态显示系统时间;参考答案:表单的标题属性Caption设置为“数字时钟”;表单的位置属性Left为0;Top为0;Movable为.T.;表单的BorderStyle属性为“0—无边框”;时钟控件Timer1的Interval属性为1000。
文本框Text1的背景色Backcolor为RGB(255,255,255);FONTNAME为“隶书”。
时钟控件Timer1的Timer事件代码:s=substr(time(),1,2)f=substr(time(),4,2)m=substr(time(),7,2)thisform.text1.value=s+"时"+f+'分'+m+'秒'第2题:编制一个表单EXAM2.SCX,根据要求,用表单设计器建立一个时钟表单(界面如图例所示)。
具体要求如下:1.表单只有标题为“信息窗”。
2.当时钟的分为奇数时,表单的背景色为绿色,偶数时为蓝色。
3.显示的内容为只读。
参考答案:1.表单的标题属性Caption设置为“信息窗”;2.时钟控件Timer1的Timer事件代码:S=SUBSTR(TIME(),1,2)F=SUBSTR(TIME(),4,2)M=SUBSTR(TIME(),7,2)MN=V AL(f)IF INT(MN/2)=MN/2THISFORM.backCOLOR=RGB(0,0,255)ELSETHISFORM.backCOLOR=RGB(0,255,0)ENDIFthisform.text1.value=time()第3题:编制一个表单EXAM3.SCX,设计一个24秒倒记时表单,记时精度1秒:1)编辑状态如图T1;初始运行状态如图T2;2)单击“开始”按钮后开始倒记时,如图T3所示;4)单击“暂停”按钮时停止记时,如图T4所示;5)当倒记时到0秒时,自动停止记时,并且“开始”按钮不可用,如图T5所示。
End IfEnd SubPrivate Sub Option1_Click()Text1.FontName = "宋体"End SubPrivate Sub Option2_Click()Text1.FontName = "黑体"End SubPrivate Sub Option3_Click()Text1.FontName = "楷体_GB2312"End SubPrivate Sub Option4_Click()Text1.FontSize = 20End SubPrivate Sub Option5_Click()Text1.FontSize = 30End SubPrivate Sub Option6_Click()Text1.FontSize = 40End Sub2.3.8 列表框和组合框列表框和组合框都可以为用户提供选项列表,用户可以在控件列表项中进行选择,所以在事件和属性方法上有很多相似之处。
但二者又有所不同,使用时要根据需要进行选择。
1.列表框列表框(ListBox)用于在多个项目中作出选择的操作。
列表框控件显示一个项目列表,用户可以通过单击某一项选择自己所需要的项目。
如图2-20所示。
如果项目太多而超出了列表框设计时的长度,则Visual Basic会自动给列表框加上垂直滚动条。
(1)列表框的常用属性•L istCount属性:ListCount属性值为列表框中项目的个数。
该属性为只读属性,设计时不可用。
对于图2-20中的列表框来说,ListCount属性值为5。
•L ist属性:List属性用于设置或返回列表框的列表项目,是一个字符串数组。
列表框的各个列表项目使用数组的方式保存,数组的每一个元素存储列表框中的一个列表项,如图2-21所示。
列表框中的第1个项目对应List数组中下标为0的元素,即List(0)存储“计算机文化基础”条目,其他依次类推,下标为ListCount-1的元素对应列表框中的最后一个项目。
列表框与组合框一、教学目标1、列表框属性、事件、方法2、组合框属性、事件、方法二、教学过程1、列表框控件的主要属性:A、List(n):返回指定的项目内容。
(Ctrl+回车:换行;回车:确认)说明:列表框中的值是数组,可通过List(下标值)的形式表示。
如列表框中的第一项,用List(0)表示,第二项,用List(1)表示,列表框中的第十项,用List(9)表示,以此类推。
a = List1.List(0)Print a ‘输出第一项List1.List(1) = "十堰市" ‘对数组第二元素赋值Print List1.List(1) ‘输出第二项内容B、Text:返回任意项目内容,只能在程序中设置。
C、ListCount:返回项目总数。
比如:列表框共有四个项目,那么ListCount 就为4。
Print List1.ListCount ‘输出表项数量的数值D、ListIndex:返回任意的项目。
ListCount 始终比最大的ListIndex 值大1 。
x= List1.ListIndex '得到选中项索引号Print List1.List(x) '输出选中项内容E、Selected属性:判断列表框中的某项目是否被选中,被选中返回True,没被选中返回False。
F、MultiSelect属性:用来设置是否可以多选。
值为0时只能单选,值为1时是多选,值为2时可以配合Ctrl、Shift键进行多选。
Ctrl可以选择多个不连续的对象,Shift可以选择多个连续的对象。
2、列表框控件的主要事件:列表框控件主要接收Click 与DblClick如:Private Sub List1_Click()Print List1.List(List1.ListIndex) '输出选中项内容End Sub3、列表框控件的方法:A、AddItem:添加项目用AddItem 可以为列表框增加项目,代码规则如下:'列表框名称.AddItem 项目字符[,位置值]如:List1.AddItem "十堰市", 0 '添加项目值,并指定位置为第一个,若省略则在最后B、Clear:清除所有项目用Clear 可以清除列表框中所有的内容,代码如下:列表框名称.Clear如:List1.Clear '清除列表框中的所有内容C、RemoveItem:删除项目此方法可以删除列表框中指定的项目,代码如下:列表框名称.RemoveItem 索引值其中,索引值是必须的,表示欲删除哪一个项目。
江苏省无锡立信会计学校备课笔记教学 内 容 学生活动3、重要方法:AddItem :向列表框中添加一个新的列表项 Removeitem :在列表框中删除一个列表项 Clear :清除列表框中的所有内容 [练习1]说出下列代码的含义Listl.Addltem Textl.Text把文本框Textl 中的文本添加到列表框Listl 中。
Listl.Removeltem Listl.List In dex把列表框Listl 中选中的项目删除。
List2.Additem Listl.Text把列表框Listl 中选中的文本添加到列表框List2中。
List2.Removeitem List2.List In dex把列表框Listl 中选中的项目删除。
创建一个窗体Forml (Caption :书籍采购计划),在此窗体上创建 2个标 签、1个文本框、2个命令按钮和1个列表框,界面如下图,要求程序运 行时,能通过文本框向列表框添加书目或删除已有书目。
!□! x]书名:练习分析程序对象类型 对象名 属性设置 窗体 Form1 Capti on 书籍采购计划 标签 Label1 Capti on 书名 标签 Label2 Capti on 采购列表 命令按钮 Comma nd1 Capti on 添加 命令按钮 Comma nd1Capti on 删除 文本框Text1 Text 空白 列表框List1List 空白采购列表:'添加按钮第三步:补充完成代码编写 Private Sub Comma nd1_Click()If Textl.Text <> "" Then[解]第一步:创建新窗体 Forml ,在此窗体上创建 2个标签Labell 、Label2,1 个文本框 Textl , 2 个命令按钮 Commandl 、Command2,和 1 个 列表框List1。
第十二章列表框和组合框列表框是显示一系列项供用户选择的控件,对选中的项可以进行后续的处理。
用户选择可以是多项的,但本章的例程设计为单选的。
组合框是一个编辑框带一个可以下拉的列表框,用户在下拉框中选择的项会进入编辑框中,再进行后续处理,选择也可以用键盘的光标键。
在编辑框中也可以直接输入。
本章要点1 列表框的设计、项的添加和删除2 组合框的设计和使用12.1 ListCombo程序运行时的界面和功能chap12-01List1在初始化时加入了六项。
点击[<]按钮就把选中的项移动到List2中去。
点击[>]按钮则相反。
点击[<<]和[>>]按钮则移动全部项。
用[清除列表]按钮可删除List1的全部项。
[加入到]按钮把你选中的在编辑框中项添加到List1中,[加入全部]按钮则把组合框设置的所有项添加到List1中。
组合框预置了“中国”这一项,但没有设计删除功能。
列表框和组合框都有一个从0开始的整数索引和一个用于显示的文本。
12.2 对话框界面设计按控件属性表设计界面。
控件类型标题ID and GenaralStylesExtended StyleslistBoxIDC_LIST1显示checked选择Simple,BorderVirteber scroll无listBoxIDC_LIST2显示checked选择Simple,Border Virteber scroll无ComboBoxIDC_CONTRIES_COMBO 显示checked类型:Drop list Virteber scrollStatic edgeButton<IDC_MOVE_BUTTON无无Button>IDC_BACK_BUTTON无无Button<<IDC_MOVEALL_BUTTON 无无Button>>IDC_BACKALL_BUTTON 无无Button清除列表IDC_CLEAR_BUTTON无Client edgeButton加入到IDC_ADD_BUTTON无Client edgeButton加入全部IDC_ADDALL_BUTTON无Client edgeButton退出IDC_EXIT_BUTTON无Client edgeStatic edgeModal Frame属性表中列出的表示“选中”,TAB复选框都要选中,就省略了。
组合框可以在DATA属性页中设置项的文本,本例采用这种方法。
其数据是:中国,美国,俄罗斯,英国,法国,德国,印度,巴基斯坦,日本,加拿大,澳大利亚,韩国,伊朗,伊拉克逗号处要改为换行,换行用Ctrl+<回车键>。
设计好的界面如图chap12-02所示。
chap12-0212.3 设计变量和编写代码1 为三个列表框和组合框引进变量因为我们要对列表框的项进行操作,所以要申明三个对象类型的变量m_myList1m_myList2m_myCombo。
2 定义一个字符串数组定义一个字符串数组m_myItems用来存放组合框的项的文本。
在对话框的头文件的类CListCombaDlg的构造函数中申明:CString m_myItems[20];3 给初始化函数编写代码在OnInitDialog()中我们要从组合框控件获取项目的文本,给字符串数组m_myItems赋值。
再用它的前六项为List1初始化。
最后为组合框设置项“中国”为预选项。
从组合框控件获取项用函数GetLBText(index, str),它把索引值为index的项的文本拷贝给str。
给列表框赋值用AddString(string)函数,它在列表的尾部增加一项。
类似地还可以用插入函数InsearString(...)。
在// TODO: Add extra initialization here 这行的后面,我们添加如下代码:int count = m_myCombo.GetCount();//获取组合框的项数int i =0;//从组合框控件获取项的文本for(i =0; i<count; i++)m_myCombo.GetLBText(i, m_myItems[i]);//List1初始化,六项for(i =0; i<6 ; i++)m_myList1.AddString(m_myItems[i]);// 130) : error C2039: 'AddString' : is not a member of 'CString'变量类型有问题//设置组合框默认选择项为"中国"m_myCombo.SetCurSel(0);这段调了很久4 给4个移动按钮写代码MOVE按钮[<]的功能是从List1中得到用户选定顶的索引号,再从这索引号获取选定顶的文本,然后删除这一项,在List2中添加一项。
当前项获取索引号函数index=GetCurSel()返回整数。
获取选定项的文本用函数GetText(index, item),它把指定项的文本拷贝到字符串item 中。
OnMoveButton()函数的完整代码如下:void CListCombaDlg::OnMoveButton(){CString item;int index = m_myList1.GetCurSel(); //获取选定顶索引号m_myList1.GetText(index, item); //获取选定顶的文本m_myList1.DeleteString(index); //删除一项m_myList2.AddString(item); //添加到List2中m_myList1.SetCurSel(0); //设置首项为当前项}MOVEALL按钮的代码与上面的类似,加上循环语句就行。
void CListCombaDlg::OnMoveallButton(){// TODO: Add your control notification handler code hereCString item;int index =0 ;while(m_myList1.GetCount() >0){m_myList1.GetText(0, item);m_myList1.DeleteString(0);m_myList2.AddString(item);};}BACK和BACKALL按钮的代码和上面的一样,只要把m_myList1和m_myList2对调就行。
5 从组合框向列表框1加入当前项的代码这与列表框不同的是获取文本的函数名不大一样,用函数GetLBText,其余都相同。
在OnAddButton()中加入代码:void CListComboDlg::OnAddButton(){CString item;int i=m_myCombo.GetCurSel();m_myCombo.GetLBText(i,item);m_myList1.AddString(item);}从组合框向列表框1加入全部项的代码如下:void CListCombaDlg::OnAddallButton(){//Clear old items in Linst at firstCString item;while(m_myList1.GetCount()>0)m_myList1.DeleteString(0);int n = m_myCombo.GetCount();//Add all itemsfor(int i=0; i<n; i++){m_myCombo.GetLBText(i, item);m_myList1.AddString(item);}}6 [清除列表]和[退出]按钮的代码[清除列表]的按钮的代码:while(m_myList1.GetCount()>0)m_myList1.DeleteString(0);[退出]按钮的代码:OnOK();12.4 编译和运行至此,我们完成了界面设计和代码编写,可以编译和Build了。
编译通过就可以在运行中测试程序,检查是否满足我们的设计要求。
但是,代码编写常常会有许多错误,编译器会报告一大堆错误。
虽然指出了错误所在的行,但要明白是什么错误还是很费劲的。
如果我们在完成一部分工作后就编译一次,错误就比较少,容易找到和纠正。
所以我们分以下几步来编译。
1、界面完成后编译一次,这时运行可以看到组合框有了信息和可以选择了。
2、对话框初始化编写后编译和运行一次,这时可以看到列表框有了信息。
3、MOVE按钮写了代码后编译和运行一次,这时可以测试移动功能是否正确。
如果成功,那这代码可以放心地复制到其他三个按钮去了。
4、全部完成后的编译和运行。
12.5 小结1 列表框和组合框属性设置中有类型选择组合框有三种情况:Simple, Dropdown, Drop List。
Simple类型的组合框的列表框部分是固定显示的,不能下拉;而其余两种带一个下拉手柄。
设计中别忘记添加滚动条。
Dropdown与Drop List的区别是后者的编辑框不能输入。
列表框也有三种情况:Simple, Multiple, Extended,它们决定了用户选取项的方法。
Simple模式只能够选取单项,Multiple模式可以按Ctrl键+鼠标左键选取多个项,而Extended则可以通过鼠标拖处矩形一次选取连续的项,也可以加按Ctrl键作多次选择。
2 列表框在属性页不能设置项的文本(字符串),而组合框能。
3 列表框和组合框中的“项”都有索引号(0,1,2,...)和文本(在窗口显示)。
两者都有成员函数来获取和设置这些信息。
得到文本的函数名称不一样,列表框是GetText(),组合框是GetLBText()。
字母LB的意思是ListBox,GetLBText的意思是“从自身的列表框中获取文本”。
4 列表框和组合框常用的几个函数原型列表框的取索引号和文本的函数原型获取文本:void GetText( int nIndex, CString& rString ) const;用于单选模式的获取和设置索引号:int GetCurSel( ) const;int SetCurSel( int nSelect );用于多选模式的:int GetSel( int nIndex ) const;上式如果nIndex项是被选中的,就返回它的索引号,否则返回0。
int SetSel( int nIndex, BOOL bSelect = TRUE );bSelect = TRUE就选中索引为nIndex的项,如是FALSE,则取消“选中”:如果nIndex=-1,就是全“选中”或全“不选中”。