实验10 编辑框、列表框和组合框
第3章 Visual Basic 的设计界面 列表框与组合框
3.ItemData属性:返回或设置列表框控件中每 个列表项具体的编号
(语法:ListBox1.ItemData(index)[=number])
列表框(ListBox)(二)
常用属性(二)
4.ListCount 属 性 : 返 回 列 表 框 中 列 表 项 的 数目
2.RemoveItem:用于从列表框控件中删除 指定列表项
(语法:ListBox1.RemoveItem number)
3.Clear:用于删除列表框中的所有列表项 (语法:ListBox1.Clear)
组合框(ComboBox)(一)
基本功能:将文本框控件和列表框控件的特 性结合在一起,可以在控件的文本框中输入 文本或从列表框中选择列表项
•常用方法
AddItem:用于在列表框控件中添加列表项
RemoveItem:用于从列表框控件中删除指定 列表项
组合框(ComboBox)(二)
常用属性(二)
Text属性:用来返回或设置文本框中的文本 或选择的列表项的内容
(语法:ComboBox1.Text[=string])
常 用 事 件 过 程 : 支 持 Click、DblClick、 MouseDown、MouseUp、MouseMove、 GotFocus、LostFocus等事件
常用属性(一)
Style属性:返回或设置组合框控件的显示 类型和方式
(语法:ComboBox1.Style)
文本框中可以输入 文本 单击此下箭头才可 以打开下拉列表框 ,并进行选择
文本框中不可以输入 文本 单击此下箭头才可 以打开下拉列表框 ,并进行选择
列表框与组合框
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
列表框和组合框
对象可以是列表框 或组合框. 或组合框.
Clear方法 方法 RemoveItem方法 方法
清除列表框的所有内容. 清除列表框的所有内容. 所有内容 格式: 对象 对象>.Clear 格式:<对象 从列表框(或组合框)中除去一个项目. 从列表框(或组合框)中除去一个项目. 格式: 对象 对象>.RemoveItem <位置 位置> 格式:<对象 位置
5.3
ListIndex属性 属性 Selected属性 属性 (列表框的) 列与组合框
返回选中的列表框序号.如果未选中任何项, 返回选中的列表框序号.如果未选中任何项, listindex值为 . 值为-1. 值为 在程序运行中使用代码来选定列表中的选项. 在程序运行中使用代码来选定列表中的选项. 例如: 例如:list1.selected(2)=true 决定列表框中项目在程序运行期间是否按字母顺序排 列显示. 列显示. 0—禁止多项选择. 禁止多项选择. 禁止多项选择 1—简单多项选择. 简单多项选择. 简单多项选择 2—扩展多项选择. 扩展多项选择. 扩展多项选择
5.3
5.3.2组合框控件 组合框控件
列表框与组合框
组合框是组合了列表框和文本框的特性而形成 的一种控件.它兼有列表框和文本框的功能. 的一种控件.它兼有列表框和文本框的功能. 列表框的属性基本上都可用于组合框. 列表框的属性基本上都可用于组合框.
Style属性 Style属性 组 合 框
其取值为决定了组合框3种不同的类型: 其取值为决定了组合框3种不同的类型: 0(下拉式组合框: 0(下拉式组合框:既可以输入又可选 下拉式组合框 择 ) 1(简单组合框: 1(简单组合框:既可以输入又可选择 ) 简单组合框 2(下拉式列表框: 2(下拉式列表框:只能选择不能输入 ). 下拉式列表框
列表框、组合框、微调
四、编辑状态(如图1)运行状态(如图2)制作如图所示表单。
设置:1:设置表单名称为“Form1”,标题为“Form1”。
2:设置微调控件的名称为“Spinner1”。
3:设置标签控件的名称为“Label1”,标题为“调整值在0-99之间:”。
4:设置形状控件的名称为“Shape1”。
要求:1:表单内控件如图中所示,在0-99之间调整微调框的值。
2:图形的曲率随调整值的变化而变。
3:表单整体效果美观,比例合适。
基本属性:1:FORM1.HEIGHT=182 2:FORM1.LEFT=62 3:FORM1.TOP=27 4:FORM1.WIDTH=325 5:SHAPE1.FILLSTYLE=0八、编辑状态(如图1)运行状态(如图2)制作如图所示表单。
设置:1:设置表单名称为“Form1”,标题为“描述”。
2:设置图像控件的名称为“Image1”。
3:设置编辑框的名称为“Edit1”。
4:设置按钮(Command1)的标题为“描述1”。
设置按钮(Command2)的标题为“描述2”。
要求:1:表单标题为“描述”。
2:表单内控件如图中所示,右侧为编辑框。
3:单击“描述1”按钮,编辑框中出现如图一所示文字。
4:单击“描述2”出现如图二所示文字。
5:表单整体效果美观,比例合适。
基本属性:1:FORM1.HEIGHT=230 2:FORM1.LEFT=62 3:FORM1.TOP=27 4:FORM1.WIDTH=230 十、编辑状态(如图1)运行状态(如图2)制作如图所示表单。
设置:1:设置表单名称为“Form1”,标题为“计算机考试”。
2:设置标签(Label1)的标题为“学生”。
3:设置列表框的名称为“List1”。
4:设置选项按钮组的名称为“Optiongroup1”。
设置选项按钮组中的按钮(Option1)的标题为“正常”。
设置选项按钮组中的按钮(Option2)的标题为“迟到”。
(已读)第十二章列表框和组合框
第十二章列表框和组合框列表框是显示一系列项供用户选择的控件,对选中的项可以进行后续的处理。
用户选择可以是多项的,但本章的例程设计为单选的。
组合框是一个编辑框带一个可以下拉的列表框,用户在下拉框中选择的项会进入编辑框中,再进行后续处理,选择也可以用键盘的光标键。
在编辑框中也可以直接输入。
本章要点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复选框都要选中,就省略了。
(10)组合框(ComboBox)滚动条(ScrollBar)
(十)组合框(ComboBox)和滚动条(HVScrollBar)组合框集文本框和列表框的功能。
一.组合框的属性:1.Name 属性:2.Style属性:决定了组合框的三种不同的样式。
0:下拉式组合框:(缺省值)既可在文本编辑区输入文本,也可单击下拉按钮后从列表框中选择,(获得焦点时,可用~ 打开列表进行选择)1:简单组合框:无下拉按钮。
当列表区不够大时,会自动出现垂直滚动条。
既可输入文本,也可在列表中选择。
2:下拉式列表框:不能输入文本,只能单击下拉按钮后从列表中选择。
3.Text属性:4.ListIndex 属性:5.NewIndex 属性:6.List属性:7.ListCount属性:二.组合框的方法:1.Add Item 方法:2.RemoveItem 方法:3.Clear 方法:滚动条分为水平滚动条和垂直滚动条两种。
用于不能自动支持滚动的应用程序和控件提供滚动功能。
三.滚动条的属性:1.Name 属性:2.Min 属性:设置水平滚动条的左端或垂直滚动条的上端的值。
3.Max 属性:设置水平滚动条的右端或垂直滚动条的下端的值。
注:(1) 一般Min 的值小于Max 的值. 但也可以Min > Max。
(2) Min和Max 属性决定了滚动条的取值范围。
(最大范围VB限定为-32768 ~ 32767之间,是整型值)4.V alue 属性:返回滚动条滑块所在位置的值,其值在Min和Max 之间,也是整型值。
也可通过设置V alue的值来控制滚动条滑块的位置。
5.SmallChange 属性:设置单击滚动条两端箭头时V alue 的改变值。
6.LangeChange 属性:设置单击滚动条箭头与滑块之间的空白位置时V alue 的改变值。
四.滚动条的事件:1.Change 事件:在单击滚动条空白处、单击滚动条箭头、释放滚动滑块时发生。
2.Scroll 事件:在移动滚动条滑块时发生。
编辑框复选框列表框组合框
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考点复习指导:列表框和组合框
计算机二级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.什么是列表框和组合框,二者有什么区别?教学方法:课堂提问。
二、新课讲解(一)列表框(ListBox)(重点掌握)教学方法:结合实例,运用软件演示讲解,学生通过实例进行操作练习。
1、作用:列表框是提供选项的控件,它占用有限的空间,为用户提供许多选项。
当列表框不能同时显示所有选项时,会提供滚动条对列表框中的选项进行滚动浏览、选择。
2、系统默认其对象名为:List1, List2,……3、列表框的常用属性a)RowSourceType属性列表框可以绑定10种数据源,如下表所示:RowSourceType值0 1 2 3 4 5 6 7 8 9数据类型无值别名SQL语句查询文件数组字段文件数据结构下拉菜单(1)RowSourceType值为0:无数据源,需通过编程向列表框中添加列表项。
(2)RowSourceType值为1:可用RowSource(数据源)属性指定多个要在列表框中显示的值。
方法有两种:①在设计时直接在属性窗口中设置RowSource属性值,用逗号分隔列表项②运行时用程序代码设置其属性值,各列表项间用逗号分隔,并用引号将属性值括起来,例如:Myform1.List1.RowSourceType=1Myform1.List1.RowSource=”北京,上海,南京,西安”(3)RowSourceType值为2:表的别名,可以在列表框中包含打开表的一个或多个字段的值。
字段的个数由列表框的ColumnCount属性决定。
当用户选择列表项时,记录指针将自动移到相应的记录上。
若ColumnCount为0或1,列表框将显示表中的第一个字段;ColumnCount为2,列表框将显示表中的前两个字段,依次类推。
(4)RowSourceType值为3:SQL语句,在RowSource属性中应包含一个Slect-Sql 查询语句。
实验十常用控件
实验十常用控件一.实验目的1.掌握命令按钮、标签、文本框、单选钮、复选框等常用控件的属性、方法和事件。
2.掌握滚动条、列表框、组合框和时钟控件的使用。
3.了解鼠标和键盘事件及其事件过程的编写。
4.综合应用所学的知识,编制具有可视化界面的应用程序。
二.实验要求通过实验范例的学习,掌握基本的常用控件,并根据实验内容要求编写完整的应用程序,学会单选框、复选钮、滚动条、列表框和滚动条等控件的使用。
三.实验范例1.下图10-1是一个学生成绩计算程序,具有如下功能:1)文本框中只能输入0~9之间的数字字符。
2)当焦点离开文本框时,能检查输入的成绩是否有效。
若成绩不在0~100之间,则清除原数据,并将光标移到该文本框。
3)若文本框左边的复选框未被选定,则文本框不可以输入成绩并且不参加计算总分和平均成绩。
图10-1 范例1程序运行界面步骤一:利用复选框、文本框、标签、命令按钮根据要求设计界面。
步骤二:编写如下事件过程Private Sub Form1_Load(……) Handles MyBase.LoadMe.KeyPreview = True '窗体优先处理键盘事件CheckBox1.Checked = TrueCheckBox2.Checked = TrueCheckBox3.Checked = TrueEnd SubPrivate Sub Form1_KeyPress(……) Handles Me.KeyPress '如果所按键不在0~9之间,则忽略If e.KeyChar < "0"Or e.KeyChar > "9"Thene.Handled = TrueEnd IfEnd SubPrivate Sub CheckBox1_CheckedChanged(……) Handles CheckBox1.CheckedChanged TextBox1.Enabled = CheckBox1.CheckedEnd SubCheckBox2和CheckBox3的CheckedChanged事件过程同CheckBox1,略。
列表框组合框
上机练习:第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所示。
实验10
【实验目的】1.掌握列表类控件的设计方法2.掌握公共对话框类控件的设计方法;【实验步骤】常用快捷键:快捷键F12(当前窗体与代码编辑窗口切换),F11(显示对象查看器),F9(编译并运行当前程序)的功能。
控件的大小位置微调方法:Shift+<方向键>,CTRL+<方向键>一、编写一个货物选择的程序,步骤如下:1.根据上图添加相应的对象,并设置它们的属性。
2.编写button1的click事件代码如下:procedure TForm1.Button1Click(Sender: TObject);beginif listbox1.ItemIndex=-1 thenbeginmessagedlg('请选择需要移动的项目',mtCustom,[mbok],0);end //else 语句前面的end不能有分号elsebegin//添加到另一个列表框listbox2.items.Add(listbox1.Items[listbox1.ItemIndex]);//在原有的列表框移除项目listbox1.Items.Delete(listbox1.ItemIndex);//如果原列表框还有项目,选中第一个(索引号为0)if (listbox1.Count<>0) thenlistbox1.Selected[0]:=true;end;end;编写button2的click事件代码如下:procedure TForm1.Button2Click(Sender: TObject);if listbox2.ItemIndex=-1 thenbeginmessagedlg('请选择需要移动的项目',mtCustom,[mbok],0);endelsebegin//添加到另一个列表框listbox1.items.Add(listbox2.Items[listbox2.ItemIndex]);//在原有的列表框移除项目listbox2.Items.Delete(listbox2.ItemIndex);//如果原列表框还有项目,选中第一个(索引号为0)if (listbox2.Count<>0) thenlistbox2.Selected[0]:=true;end;end;二、编写一个货物查询的程序,步骤如下(注意编写第二个程序时,先执行菜单“file”-“saveall”保存原先设计的所有文件到自己定义的一个目录下,再执行菜单“file”-“closeall”,最后执行菜单“file”-“new”-“application”):1.添加1个组合框(Combobox),和一个列表框(Listbox)2.设置ComboBox1的Text属性为(清空):设置ComboBox1的style属性为:csDropDownList设置ComboBox1的items属性为:1:水果2:饮料3:服装3.编写事件代码:ComboBox1的OnChange事件:procedure boBox1Change(Sender: TObject);begincase ComboBox1.ItemIndex ofbegin//清空列表listbox1.Items.Clear;listbox1.Items.add('1:苹果(库存578斤)');listbox1.Items.add('2:桔子(库存1024斤)');listbox1.Items.add('3:香蕉(库存345斤)');end;1:begin//清空列表listbox1.Items.Clear;listbox1.Items.add('1:可乐(库存25箱)');listbox1.Items.add('2:牛奶(库存19箱)');listbox1.Items.add('3:矿泉水(库存30箱)');end;2:begin//清空列表listbox1.Items.Clear;listbox1.Items.add('1:牛仔裤(库存58件)');listbox1.Items.add('2:裙子(库存21件)');listbox1.Items.add('3:袜子(库存132件)');end;end;end;三、编写一个显示货物产地的程序,步骤如下:添加1个多行编辑框(Memo),4个按钮(Button),四个如上图所示对话框(在组件板Dialogs分页)4.设置memo1的lines属性为(清空):(注意:name属性为memo1,不要修改)设置memo1的scrollbars属性为:ssBoth设置Button1的Caption属性为:打开设置Button2的Caption属性为:保存设置Button3的Caption属性为:字体设置Button4的Caption属性为:替换5.编写Button1的Onclick事件代码如下:procedure TForm1.Button1Click(Sender: TObject);beginif opendialog1.Execute thenmemo1.Lines.LoadFromFile(opendialog1.FileName); end;编写Button2的Onclick事件代码如下:procedure TForm1.Button2Click(Sender: TObject);beginif savedialog1.Execute thenmemo1.Lines.savetoFile(savedialog1.FileName);end;编写Button3的Onclick事件代码如下:procedure TForm1.Button3Click(Sender: TObject);beginif FontDialog1.Execute thenmemo1.Font:=FontDialog1.Font;end;编写Button4的Onclick事件代码如下:procedure TForm1.Button4Click(Sender: TObject);beginReplaceDialog1.Execute;end;编写ReplaceDialog1的On Replace事件代码如下:procedure TForm1.ReplaceDialog1Replace(Sender: TObject); varTextPosition:integer;beginwith TReplaceDialog(sender) dobeginTextPosition:=Pos(FindText,memo1.Lines.Text);//如果找得到if TextPosition>0 thenbeginmemo1.SelStart:=TextPosition -1 ;memo1.SelLength:=length(findtext);memo1.SelText:=replacetext;end//如果找不到elsemessagedlg('找不到'+findtext,mterror,[mbok],0); end;end;。
列表框、组合框
End Select
Combo2.ListIndex = 0
End Sub
教师提出问题、继而解决
学生练习、教师辅导
总结
学生按照书本所示图、表进行制作
学生练习
学生练习
江苏省无锡立信职教中心校备课笔记
教学内容
项目二:组合框
提出问题4:如何将组合框2中选定的项目添加到组合框1中呢?
解决:使用组合框的AddItem ()方法
解决:使用msgbox函数结合赋值语句
附代码:
Private Sub Command3_Click()
List1.AddItem List2.Text
List2.RemoveItem List2.ListIndex
End Sub
Private Sub Command Nhomakorabea_Click()
For i = List2.ListCount - 1 To 0 Step -1
板
书
设
计
项目一:列表框
项目二:组合框
1创建用户界面
2设置属性
3编写代码
4调试和运行
教师提出问题、继而解决
学生练习、教师辅导
归纳总结
教学
后记
项目教学效果显著,采用对比法是解决教学难点的一个有效手段。
江苏省无锡立信职教中心校备课笔记
教学内容
学生活动
项目一:列表框
1创建用户界面
2设置属性
3编写代码
提出问题1:如何将"计算机系"和"商务系"添加到列表框中呢?
解决:使用列表框的AddItem ()方法
提出问题2:运行时如何让列表框自动显示某个值呢?
实验十 常用控件(二)
实验十常用控件(二)【实验目的】1.掌握滚动条的重要属性、事件和方法。
2.掌握图片框和图像框的使用以及两者的区别3.掌握计时器的重要属性、事件和方法。
4. 掌握形状控件的重要属性以及使用。
【实验内容】1、P237,实验E-6,窗体的标题栏显示“选课界面”,窗体上有两个列表框,左边是List1,右边是List2,其中List2中的列表项按字母顺序升序显示。
窗体下方有一个文本框,名为Text1。
请你:1) 写出程序中需要的属性设置。
2) 编写程序,要求单击List1中的某一项时,该项显示在Text1中;双击List1中的某一项时,该项从List1中删除,添加至List2。
当List2中的内容已满5门时,不允许再添加并提示“超过5门课程,不能再选了!”。
(要注意条件的放置位置问题)2、窗体上有一组合框Combo1,一文本框Text1,三个命令按钮,要求:1)程序一开始运行时,Combo1中有若干选项,命令按钮"确定"不可用2)选中Combo中某个项目,单击"修改",则将该项目复制到Text1中(可在Text1中修改),同时"确定"按钮可用3)单击"确定"将修改过的Text1替换组合框中原有的内容,同时"确定"按钮不可用.4)单击"添加",将Text1中的内容添加到组合框中【提示】修改组合框中选中的内容要通过代码来重新设置Combo1.List (Combo1.ListIndex)值的,而不能直接设置Text属性值。
3、在窗体的Label中每隔2秒显示“你好中国”(即每隔2秒显示一次标签)。
【提示】1)设置时钟控件的Interval值为适当的值,可以使程序每隔2秒,调用一次计时器的Timer事件。
2)每隔2秒显示一次标签,即标签的状态就应该是显示——隐藏---显示----隐藏,如此下去的,则应该是设置标签的什么属性可以达到效果呢?4、如右图所示,将滚动条的范围设置为0~1000,在文本框中输入一个数后按下“移动”按钮。
列表框和组合框
//代码开始 char str[50]; m_AddEdit.GetWindowText(str,50); m_MyList.AddString(str); //代码结束 }
显示列表框中的项数
在对话框中再添加一个编辑框和一个按钮。 其属性如下:
对 象 ID 编辑框 IDC_COUNT_EDIT 按 钮 IDC_COUNT_BUTTON
//代码开始 char str[50]; m_MyList.GetText(m_MyList.GetCurSel(),str); m_SelectEdit.SetSel(0,-1); m_SelectEdit.ReplaceSel(str); //代码结束 }
从自己的编码中加入一项到列表框
在对话框中添加一个编辑框和一个按钮。 其属性如下:
CMyListDlg->IDC_MYLIST->LBN_DBLCLK
从列表框中读取一项
{vo▪id 单CM击yLiEstDdlgi:t:OCnDobdlclekM按yL钮ist(。) //为TO函DO数: AdOd ynouDr cbonlctrlokl nMotiyficLatiisonth(a)n填dler写cod代e h码ere
列表框和组合框
江苏省无锡立信会计学校备课笔记教学 内 容 学生活动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。
C 实验四总结报告
实验十常用控件(1)实验目的和要求(1)创建一个默认的对话框应用程序Ex_Ctrls,如图2.1所示。
(2)设计一个如图2.2所示的“课程信息”对话框。
图2.1 Ex_Ctrls对话框图2.2 “课程信息”对话框(3)实现功能:单击图2.1中的“课程信息”按钮,弹出“学生基本信息”对话框,单击“添加”按钮,对话框内容显示在图2.1中的列表框中。
实验准备和说明(1)具备知识:静态控件、按钮、编辑框、旋转按钮控件、列表框和组合框控件。
(2)创建本次实验工作文件夹“…\Visual C++程序\实验\实验2”。
实验内容和步骤1.启动Visual C++ 6.0打开计算机,启动Visual C++ 6.0系统。
2.创建一个默认的对话框应用程序Ex_Ctrls①选择“文件”→“新建”菜单,在弹出的“新建”对话框中选择“工程”页面,选择MFC AppWizard (exe),在工程框中输入Ex_Ctrls,并将工程文件夹定位到“…\Visual C++程序\实验\实验2”。
②单击“确定”按钮,在出现的Step 1对话框中选择“基本对话(框)”应用程序类型,单击“完成”按钮。
③在对话框编辑器中,单击对话框工具栏上的切换网格按钮,显示对话框网格,将对话框标题改为“使用控件”。
④调整对话框的大小,删除对话框中间的“TODO: 在这里设置对话控制。
”静态文本控件和“确定”按钮控件,将“取消”按钮标题改为“退出”,并移至对话框的下方。
⑤向对话框中添加组框(Group)控件,标题设为“添加”,然后调整其大小和位置。
⑥添加一个按钮,标题设为“课程信息”,ID设为IDC_BUTTON_COURSE。
⑦添加一个列表框,取其默认ID号,去掉Sort风格属性。
3.添加并设计“课程信息”对话框①按Ctrl+R快捷键,弹出“插入资源”对话框,在资源类型列表中选择Dialog,单击“新建”按钮。
②将该对话框资源的ID设为IDD_COURSE,标题设为“课程信息”,字体设为“宋体,9号”。
列表框与组合框
课题十七列表框与组合框【课时安排】:2学时【教学方法与教学手段】:采用一体化教学,案例分析法。
【教学环境】:装有Visual Basic 6.0程序设计软件和广播教学软件的电脑(1台/人)。
【教学重点】:1、列表框、组合框的属性设置。
2、列表框、组合框的方法和事件。
【教学难点】:列表框、组合框的使用【教学过程】:一、复习旧课1、如何设置单选按钮、复选框、框架和滚动条控件的属性?2、如何设置单选按钮、复选框、框架和滚动条控件的事件?二、新课导入在VB程序设计中,列表框、组合框都可以提供多个选择项供用户选择,以达到与用户对话的目的。
其中列表框通常将用户的选择限制在列表之内;而组合框既可以让用户在其列表框部分选择一个列表项目,也可以在其它文本框部分直接输入文本内容来选定项目。
那么如何设置列表框、组合框的属性?如何灵活利用列表框、组合框来编程?下面就介绍列表框、组合框的相关属性及其事件的应用。
三、新课讲授(一)列表框(ListBox)控件1.列表框的属性(1)List、ListIndex、ListCount和Text属性①List:属性是一个字符型数组,这个数组的每一项对应着列表框中的每一个列表项目,List数组的下标是从0开始的。
List(0)②ListIndex属性表示当前选定的列表项目的下标。
如果未选中任何项,则ListIndex 的值为-1。
③ListCount属性表示列表框中列表项目的个数,即List数组的元素个数④Text属性值是被选中的列表项的文本内容。
对列表框中列表项目的操作,实际上就是对List数组元素的操作,语句形式为:列表框名.List(i)其中,i为列表项目的下标号,其取值范围是0~ListCount-1;而ListIndex 是当前选定的列表项目的下标,当前选定的列表项目就是“列表框名. List(列表框名.ListIndex)”。
注意:由于Text的值就是被选中的列表项的文本内容,所以“列表框名.List(列表框名.ListIndex)”就等于“列表框名.Text”(2)MultiSelect属性该属性用于设定列表框内是否允许同时选择多个列表项。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验内容
设计一个学生成绩管理对话框应用程序Ex_Input,其运行结果如图T10.1所示,单击“添加”按钮后,学生成绩记录添加到列表框中,在列表框中单击学生成绩记录,则记录内容显示在左边的相关控件中,单击“删除”按钮,这删除该记录。
需要说明的是,当列表框没有记录或没有选定的记录项,则“删除”按钮是灰显的。
实验准备和说明
(1)在教程第4章讲授“组合框”后进行本次实验。
(2)构思本次上机所需要的程序。
实验步骤
1.创建工作文件夹
打开计算机,在“D:\Visual C++程序\LiMing”文件夹中创建一个新子文件夹“实验10”。
2.设计“学生成绩”对话框
设计“学生成绩”对话框的具体步骤如下。
(1)启动Visual C++ 6.0。
(2)创建一个默认的基于对话框应用程序项目Ex_Input, 在“新建”对话框中将项目文件夹定位到“D;\Visual C++程序\LiMing\实验10”。
(3)在打开的对话框资源模板中,将对话框的标题属性改为“学生成绩管理”,删除“取消”按钮,并将“确定”按钮的标题属性改为“退出”。
(4)显示对话框网格,调整对话框的大小,参照如图T0.1所示控制的布局,在学生成绩管理对话框添加如表T10.1所示的控件,调整控件的位置。
3.添加CstudentRec类代码
在Ex_InputDlg.h文件的class Cex_InputDlg : public Cdialog 语句前面添加下列CstudentRec 类代码:
Class CstudentRec
{
Public:
CstudentRec(Cstring name.Cstring id,float s1,float s2. float s3)
{
strName=name;
strID=id;
fScore[0]=s1;fScore[1]=s2;fScore[2]=s3;
}
CstudentRec(){}; //默认构造函数
~CstudentRec(){}; //默认析构造函数
Cstring strName; //姓名
Cstring strID; //学号
Float fScore[3]; //3门成绩
};
4..添加控件变量及其初始代码
添加控件变量及其初始代码的具体步骤如下。
(1)打开MFC ClassWizard 在MFC ClassWizard 的Member Variables 页面中,确定Class name 中是否已选择了Cex_InputDlg,选中所需的控件ID标识符,双击鼠标或单击Add Variables 按钮。
依次为如表T10.2所示的控件增加成员变量。
(2)在CEx_InputDlg::OnInitDialog中添加下列代码:
BOOL CEx_InputDlg::OnInitDialog()
{
Cdialog::OnInitDialog();
...
m_spinS1.SetRange(0,100); //设置旋转按钮控件范围
m_spinS2.SetRange(0,100);
m_spinS3.SetRange(0,100);
Cstring str; //设置组合框内容
for(int i=1;i<=50;i++)
{
Str.Format(“210501%02d”,i);
//%为格式引导符,后面02d表示i按2位整数格式输入,不足时前方补0
m_comboNo.InsertString(i-1,str);
}
M_comboNo.SetCurSel(o);
returnTRUE;//return TRUE unless you set the focus to a control }
(3)编译运行,Ex_Input第1次运行行结果如图T10.2所示。
5. 完善代码
完善代码的具体步骤如下。
(1)用MFC ClassWizard 在Cex_InputDlg 类中映射IDC_BUTTON_ADD按钮控件的BN_CLICKED 消息,并添加下列代码:
void CEx_InputDIg::OnButtonAdd() //使控件数据传到变量中
{
UpdateData();
m¬_strName.TrimLeft();
m_strName.TrimRight();
if(m_strName.IsEmpty())
{
MessageBix(“姓名不能为空!”,“提示”)
return;
}
CString str;
str.Fomat(“%15s%10s%6.1f%6.1f%6.1f%”,m_strName,m_strNO,
m_fScore1,m_fScore2,m_fScore3);
CStudentRec*rec=new CStudentRec(m_strName, m_strNO,
m_fScore1,m_fScore2,m_fScore3);
int nIndex=m_ListBox.AddString(str);
m_ListBox.SetItemDataPtr(nIndex,tec);
}
(2) 用MFC ClassWizard在CFx InoputDIg类中映射IDC_BUTTON_DEL按钮控件的BN_CLICKED 消息,并添加下列代码:
void CEx_InputDIg:: OnButtonAdd()
{
int nIndex=m_ListBox.GetCurSeI();
if(nIndex!=LB_ERR)
{
Delete(CStudentRec*rec) m_ListBox. GetItemDataPtr(nIndex);
m_ListBox. DeleteString(nIndex);
}
else
GetDIgItem(IDC_BUUTTON_DEL) >EnabkeWindow(FALSE);
}
(3)用MFC ClassWizard在CEx_InputDIg类中映射IDC_LIST1列表框控件的LBN_SELCHANGE消息,并添加下列代码:
void CEx_ InputDIg::OnSelchangeList1();
{
int nIndex=m_ListBox.GetCurSel();
if(nIndex!=LB_ERR)
{
GetDlgItem(IDC_BUTTON_DEL)->EnableWindow(TURE);
CstudentRec data;
data=*(CStudentRec*)m_ListBox.GetItemDataPtr(nIndex);
m_strName=data. strName;
m_strNO=data.strID;
m_fScore1=data.fScore[0];
m_fScore2=data.fScore[1];
m_fScore3=data.fScore[2];
UpdataData(FALSE);
}
else
GetDlgItem(IDC_BUTTON_DEL)->EnableWindow(FALSE);
}
(4) 用MFC ClassWizard在CFx InoputDIg类中映射WM_DESTROY窗口消息,并添加下列代码:
void CEx_InputDIg::OnDestroy()
{
CDialog:: OnDestroy();
for( Int nIndex=m_ListBox.GetCount()-1;nIndex>=0;nIndex--)
{
\\删除所有与列表项相关联的CstudentRec数据,并释放内存delete(CstudentRec*) m_ListBox. GetItemDataPtr(nIndex);
}
}
(5)编译运行并测试。
6.写出实验报告
分析上述运行结果、思考与练习,写出实验报告。
思考与练习
(1)若在Ex_Input中海需要对添加的学生成绩记录进行修改,即在列表框中选中某记录项时,单击“修改”按钮,修改当前记录项。
则这样的功能应如何实现?
提示:可先将原来的记录项删除,然后再添加。
(2)若在Ex_Input中还需对添加的学生成绩记录进行重复性判断,即判断添加的记录的学生姓名是否与已添加的记录重名,若是,则不添加,并弹出相应的消息对话框。
则上述的代码应如何修改?。