(已读)第十二章列表框和组合框
列表框与组合框

1. 名称 2. 画法 3. 添加值
• 列表框常用属性
– List属性:字符型数组(通过下标访问) List属性 字符型数组(通过下标访问) 属性: – ListCount:列表框的列表项数 ListCount: – ListIndex:当前选中的列表项的索引 ListIndex: 开始)(没选中为)(没选中为 (从0开始)(没选中为-1) – Text:得到当前列表框的内容 Text:
•
方法
1. AddItem:在列表框中插入一个数据项 AddItem:在列表框中插入一个数据项 列表框名.AddItem 项目字符串【 索引值】 列表框名.AddItem 项目字符串【,索引值】 2 Clear:清除列表框中的全部内容 Clear:清除列表框中的全部内容 列表框名.clear 列表框名.clear 3 RemoveItem:每次只能删除一个项目 RemoveItem:每次只能删除一个项目 列表框名.RemoveItem 列表框名.RemoveItem 索引值
• 事件
– Change – Click
Style=0 Style=1 Style=2
设计简单客户管理程序,如下图: 设计简单客户管理程序,如下图:
• 事件
– Click – DbClick
Private Sub List1_Click() Private Sub Form_Load() Label3.Caption = "当前列表框中的 Text1.Text = List1.Text Text2.Text = List1.ListIndex 列表项数为" & List1.ListCount End Sub End Sub
Python编程基础(共15章)-第12章-图形用户界面编程

12.2tkinker概述
•如上节所述,tkinter是Tk图形库在Python下的封装,它对应Python的一个包。
•这个包在Python的Windows二进制发布版中是默认安装的,在Ubuntu下可以用 “sudo apt-get install python3-tk”等方式手动安装,其它系统,请查阅相关资料 进行安装。
•这一循环直到发生了程序退出事件(用户关闭主窗口)才终止运行。
12.1.2 图形用户界面程序的运行与开发
•GUI 程序的开发一般包括两大类工作,即界面外观设计和业务逻辑程序设计 。界面外观设计主要包括各种控件的设计以及窗口的整体布局规划;业务逻辑 程序设计是GUI程序开发的核心任务,包括应用问题的建模,管理应用问题的 数据和行为,同时还要负责用户交互的事件处理程序。这些工作涉及很多与操 作系统相关的底层细节,如果完全从零开始写代码,将涉及到很多复杂琐碎而 又与实际业务逻辑无关的工作。
12.1.2 图形用户界面程序的运行与开发
•命令行界面程序一般采用过程驱动的程序设计方法。程序从启动开始按顺序 运行,在需要的地方提示用户输入,并将相关计算结果输出,直到执行完所 有指令结束退出。在这个过程中,用户的所有输入行为都完全由程序控制, 如果没有程序的输入请求,除非强行终止,否则用户不能对程序的运行做任 何额外的干涉。
第12章 图形用户界面编程
12.1 面向对象编程概述
12.1.1 从命令行界面到图形用户界面 12.1.2 图形用户界面程序的运行与开发 12.1.3 Python中的图形界面编程
12.1.1 从命令行界面到图形用户界面
•与命令行界面完全采用文本进行信息交互的方式不同,图形用户界面通过按 钮及文本框等图形化元素实现程序与用户的信息交互。在图形用户界面中, 用户通过鼠标点击或拖拉菜单、按钮、窗口等图形元素向程序发出命令,同 时,程序通过文本消息框等图形元素向用户显示信息。
列表框及组合框练习题

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,含有若干列表项。
VB列表框、组合框、图片框的属性、方法及事件

Enabled
逻辑值。决定窗体是否响应用户事件(如单击窗体)。属性值 为 True 或 False。
Visible 可见性。默认为 True,False 使窗体及窗体上的对象都不可见
Index List ListIndex
在对象数组中的编号 字符数组,存放列表框的项。 ListIndex 的值表示执行时选中的列表项序号。
MouseUp 弹起鼠标
Paint 重新绘图
Resize 重新调整控件的布局
09 国贸 汪德波
图像框的属性、方法及事件
属 Name height
窗体名称。可在程序中使用,但不能设置 这四个属性决定窗体的大小和位置,单位为缇。程序中
Width 可进行设置。Height、width 设置窗体的高度和宽度,Top 为窗体
09 国贸 汪德波
VB 第七次作业
列表框的属性、方法及事件
基 本
属属
性
性特
有 属 性
方法 事件
Name
窗体名称。可在程序中使用,但不能设置
Height width Top Left
这四个属性决定窗体的大小和位置,单位为缇。程序中
可进行设置。Height、width 设置窗体的高度和宽度, Top 为窗体到屏幕顶部的距离, Left 为窗体到屏幕左边的距离。
MultiSelect 用来设置一次可以选择的列表项数。
Style Columns
用于确定控件的外观,只能在设计时确定。 用来确定列表框的列数。
Addltem 把“项目字符串”的文本放到列表框中。 RemoveItem 用来删除列表框中指定的项目。
Clear Click
用来删除列表框中的全部内容。 用来单击选择的内容
编辑框复选框列表框组合框

5 数组。将数组中的内容作为列表项的数据源。
6 字段。将表中的一个或几个字段作为列表项的数据源。
7 文件。将某个驱动器和目录下的文件名作为列表项的数据源。
8 结构。将指定表中的字段名作为列表项的数据源。
9 弹出式菜单。将弹出式菜单作为列表项的数据源。
列表框课堂举例
组合框
1. RowSourceType 数据源类型,N 2. RowSource 数据源 ,C 3. Value 当前值,C 4. Style 样式,N
未选中 选中 不确定
3.ControSource 属性 指定与复选框建立联系的数据源。作为数据源的内存变量或字段变量,
可以是数值型或逻辑型。用户对复选框操作结果自动存储到数据源变量 以及Value属性中。
列表框
RowSourceType 数据源类型,N RowSource 数据源 ,C Value 当前值,C Multiselect 是否可以多选,L List( ) 列表数组 ListCount 列表选项数量,N ColumnCount 指定列表框的列数,N Selected( ) 列表框选定状态数组
是否只读,逻辑型
Value属性
当前值,字符型
复选框
1.Caption属性 Thisform.Check1.Caption=“婚否”
2.Value属性 Thisform.Check1.Value=0 (或.F.) Thisform.Check2.Value=1 (或.T.) Thisform.Check3.Value=2 (或NULL)
3 SQL语句。将SQL SELECT语句的执行结果作为列表项的数据源。
例如:Thisform.list1.RowSource ="SELECT * FROM 学生 INTO CURSOR
VB列表框、组合框和滚动条

[教案](七)列表框、组合框和滚动条授课方式:讲授法授课学时: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、作用:显示项目列表,用户可从中选择一个或多个项目。
列表框和组合框

MyCombo应用程序的可视实现
控件属性如下所示:
对 象 ID 组合框 IDC_MY_COMBO 编辑框 IDC_MY_EDIT 按 钮 IDC_TO_BUTTON 按 钮 IDC_EXIT_BUTTON Caption
E&xit
MyCombo对话框的变量表
控 件 ID 变量名 种类 类型
IDC_MY_COMBO
控 件 ID IDC_SELECT_EDIT 变量名 m_SelectEdit 种类 类型
Control CEdit
把变量m_SelectEdit加到IDC_SELECT_EDIT 编辑框控件中时,要保证变量的种类是Conrtol,它所属 的类是CEdit。这样就可以把类CEdit的成员函数提供给编 辑框控件了。
3. 关于对话框的显示
CAboutDlg dlgAbout; dlgAbout.DoModal();
列表框和组合框
列表框和组合框
列表框和组合框在Windows 用户界面机构中担任了重要的角 色。在这一讲中,将学习如何将 列表框和组合框上放进对 话框中,即应用程序的 主窗口是对话框。
MyList应用程序的可视实现
MyList应用程序基于对话框,在用AppWizard 生成项目文件和框架文件时,AppWizard生成一对话 框并把它作为应用程序的主窗口。AppWizard给这个 对话命名为: IDD_MYLIST_DIALOG。
CMyListDlg->IDC_MYLIST->LBN_DBLCLK
从列表框中读取一项
void CMyListDlg::OnDblclkMyList() 单击 Edit Code按钮。 { 为函数OnDblclkMyList()填写代码 // TODO: Add your control notification handler code here //代码开始 char str[50]; m_MyList.GetText(m_MyList.GetCurSel(),str); m_SelectEdit.SetSel(0,-1); m_SelectEdit.ReplaceSel(str); //代码结束 }
计算机二级VB考点复习指导:列表框和组合框

计算机二级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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十二章列表框和组合框列表框是显示一系列项供用户选择的控件,对选中的项可以进行后续的处理。
用户选择可以是多项的,但本章的例程设计为单选的。
组合框是一个编辑框带一个可以下拉的列表框,用户在下拉框中选择的项会进入编辑框中,再进行后续处理,选择也可以用键盘的光标键。
在编辑框中也可以直接输入。
本章要点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,就是全“选中”或全“不选中”。