`
raymond.chen
  • 浏览: 1436834 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

列表控件的使用(一)

阅读更多

     与列表相关的控件有:列表控件(List Control)、水平列表控件(HorizontalList Control)、片式列表控件(TileList Control)、组合框控件(ComboBox Control)等。这些控件直接或间接地继承mx.controls.listClasses.ListBase类。

 

一、ListBase类

      一)常用的属性

            1、allowMultipleSelection:是否允许多项选择。默认为false。

            2、dataProvider:数据提供者。

            3、showDataTip:是否允许显示提示信息。

            4、dataTipField:指明在数据中哪一部分,当鼠标停留在数据项上时,显示的提示信息。

            5、dataTipFunction:指定的自定义方法返回显示的提示信息。

            6、iconField:指定哪个数据字段值决定数据条目中的图标。

            7、labelField:指定哪个数据字段作为控件中数据的标签。

            8、labelFunction:自定义控件中数据标签的内容,而不用labelField中指定的值。

            9、selectedIndex:选中条目的序号,没有选中任何条目时为-1。

            10、selectedIndices:

            11、selectedItem:选中条目的具体信息。

            12、selectedItems:

            13、variableRowHeight:是否允许每行的高度不同。

            14、wordWrap:是否允许数据换行。

            15、columnCount:表格的列数。

            16、columnWidth:列宽。

            17、rowCount:行数。

            18、rowHeight:行高。

            19、itemRenderer:条目渲染器,用于定制条目中显示的内容。

 

      二)常用的事件

            1、change:当selectedIndex、selectedItem属性值变化时触发。

            2、itemClick:单击条目时触发。

            3、itemDoubleClick:双击条目时触发。

            4、itemRolOver:当鼠标停留在条目上时触发。

 

二、列表控件(List Control)的使用

      一)常用的属性

            1、editable:是否可编辑条目中的数据。默认为false。

            2、showScrollTips:是否显示滚动条提示。

            3、scrollTipFunction:定义显示滚动条提示的内容。

            4、editedItemPosition:可编辑条目的起始位置。

 

      二)常用的事件

            1、itemEditBeginning:条目进入编辑状态时触发。

            2、itemEditEnd:条目完成编辑时触发。

            3、scroll:拖动滚动条时触发。

 

      三)范例源码

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.events.ListEvent;
			
			[Embed(source='images/gif-0252.gif')]
			public var myItemIcon:Class;
			
		    //自定义控件中标签的内容
			private function labelFunc(item:Object):String{
				//return item.label + "(" + item.key + ")";
				return item.label;
			}
			
			private function dataTipFunc(item:Object):String{
				return item.label + ", " + item.key;
			}
			
			/*
			 * direction:滚动条的方向,取值有:vertical、horizontal
			 * position:滚动条离控件顶端的距离
			 */
			private function scrollTipFunc(direction:String, position:Number):String{
				if(direction == "vertical"){
					return "查看其它条目";
				}
				return "";
			}
			
			//单击数据条目时触发该事件
			private function itemClickEvent(event:ListEvent):void{
				//Alert.show(event.target.selectedItem.label,"提示",Alert.OK,p1);
			}
			
			private function itemEditBeginningEvent(event:ListEvent):void{
				msg.text = "开始编辑条目:" + event.target.selectedItem.label;
			}
			
			private function itemEditEndEvent(event:ListEvent):void{
				msg.text = "完成编辑条目:" + event.target.selectedItem.label;
			}
		]]>
	</mx:Script>
	
	<!-- 以<mx:Model>标签定义数据 -->
	<mx:Model id="model1">
		<subjects>
			<subject label="语文" key="YW" itemIcon="myItemIcon"/>
			<subject label="英语" key="YY" itemIcon="myItemIcon"/>
			<subject label="数学" key="SX" itemIcon="myItemIcon"/>
			<subject label="物理" key="WL" itemIcon="myItemIcon"/>
			<subject label="化学" key="HX" itemIcon="myItemIcon"/>
			<subject label="生物" key="SW" itemIcon="myItemIcon"/>
			<subject label="政治" key="ZZ" itemIcon="myItemIcon"/>
			<subject label="历史" key="LS" itemIcon="myItemIcon"/>
			<subject label="地理" key="DL" itemIcon="myItemIcon"/>
		</subjects>
	</mx:Model>
	
	<mx:Panel id="p1" x="10" y="10" width="326" height="265" layout="absolute" title="列表控件" fontSize="12">
		<mx:List x="10" y="10" width="153" fontSize="12" height="166"
			dataProvider="{model1.subject}"
			iconField="itemIcon"
			showDataTips="true"
			dataTipFunction="dataTipFunc"
			showScrollTips="true"
			scrollTipFunction="scrollTipFunc"
			itemClick="itemClickEvent(event)"
			editable="true"
			itemEditBeginning="itemEditBeginningEvent(event)"
			itemEditEnd="itemEditEndEvent(event)"/>
			
		<mx:Label x="10" y="184" width="153" id="msg"/>
	</mx:Panel>
	
</mx:Application>

 

 

三、水平列表控件(HorizontalList Control)的使用

      当图片作为单独的条目而不是作为条目的图标出现时,需要使用自定义的条目渲染器,将其它控件或者自定义的组件嵌入到控件中。

     1)使用图片控件作为条目渲染器

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Script>
		<![CDATA[
			[Bindable]
			private var cat: Array = ["images/info.png", "images/msg.png", "images/que.png", "images/warn.png"];
		]]>
	</mx:Script>
	
	<mx:HorizontalList x="356" y="66" width="424" height="59" 
		columnCount="4" 
		columnWidth="80"
		dataProvider="{cat}"
		itemRenderer="mx.controls.Image"/>
	
</mx:Application>

 

 

      2)使用自定义组件作为条目渲染器

           在主文件向组件文件传值时,使用data对象。在组件文件中可以利用data加上”属性名“获得主文件的数据。

          1、自定义组件名为ShengXiao,存放在com.cjm.controls包中。其源码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="202" height="253">
	<mx:Image width="80" height="80" source="{data.src}"/>
	<mx:Text width="80" textAlign="center" text="{data.label}"/>
</mx:VBox>

 

          2、主文件源码

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Script>
		<![CDATA[
			import mx.events.ListEvent;
			
			//单击数据条目时触发该事件
			private function itemClickEvent(event:ListEvent):void{
				msg2.text = "当前选择生肖为:" + event.target.selectedItem.label;
			}
		]]>
	</mx:Script>
	
	<mx:Model id="sxData">
		<root>
			<sx label="鼠" src="images/sx/png-1501.png"/>
			<sx label="牛" src="images/sx/png-1502.png"/>
			<sx label="虎" src="images/sx/png-1503.png"/>
			<sx label="兔" src="images/sx/png-1504.png"/>
			<sx label="龙" src="images/sx/png-1505.png"/>
			<sx label="蛇" src="images/sx/png-1506.png"/>
			<sx label="马" src="images/sx/png-1507.png"/>
			<sx label="羊" src="images/sx/png-1508.png"/>
			<sx label="猴" src="images/sx/png-1509.png"/>
			<sx label="鸡" src="images/sx/png-1510.png"/>
			<sx label="狗" src="images/sx/png-1511.png"/>
			<sx label="猪" src="images/sx/png-1512.png"/>
		</root>
	</mx:Model>
	
	<mx:Panel x="10" y="311" width="564" height="230" layout="absolute" title="水平列表控件" fontSize="12">
		<mx:HorizontalList x="10" y="10" width="480" height="140" 
			columnCount="6"
			columnWidth="80"
			dataProvider="{sxData.sx}"
			itemClick="itemClickEvent(event)"
			itemRenderer="com.cjm.controls.ShengXiao"/>
		<mx:Text x="10" y="158" width="160" id="msg2"/>
	</mx:Panel>
	
</mx:Application>

 

 

 

 

 

  • 大小: 18.3 KB
  • 大小: 8.9 KB
  • 大小: 44.5 KB
0
0
分享到:
评论

相关推荐

    VC++列表控件使用Demo

    要使用CListCtrl,首先需要在对话框资源中添加一个列表控件,并在代码中声明并初始化这个控件对象。在对话框类的DoDataExchange函数中,你可以使用DDX_Control宏将控件ID映射到类成员变量,例如: ```cpp DDX_...

    MFC 中列表控件的使用

    在Microsoft Foundation Classes (MFC)库中,列表控件(List Control)是一种常用的数据展示组件,它允许用户以列表形式查看和操作数据。本教程将深入探讨如何在MFC应用程序中使用列表控件,包括数据的添加和删除操作...

    树形控件和列表控件的结合

    这个项目的实践价值在于,它提供了一个实际的示例,让开发者学习如何在MFC中结合使用树形控件和列表控件,这对于构建具有复杂数据展示需求的应用程序非常有用。同时,它也展示了如何跨版本地管理代码,这对于维护和...

    MCF 树形控件与列表控件的结合,给初学者很好学习资料

    本资料重点讲解的是MFC中的树形控件(CTreeCtrl)和列表控件(CListCtrl)的结合使用,这对初学者来说是一份非常有价值的学习材料。 首先,我们来看树形控件CTreeCtrl。树形控件通常用于展示层次结构的数据,例如...

    VC 树状控件和列表控件的使用

    在Microsoft Visual C++ (VC++) 开发环境中,树状控件(CTreeCtrl)和列表控件(CListCtrl)是两种常用的用户界面组件,它们为用户提供了方便的数据浏览和操作方式。这篇教程将深入探讨如何在VC++项目中有效地使用这...

    c#使用列表视图控件例子

    在C#编程中,列表视图(ListView)控件是一个非常重要的组件,它允许开发者以多种方式...在实际开发中,根据具体需求灵活运用,结合实际案例(如提供的"实例 如何使用列表视图控件"文件),将有助于深入掌握这一控件。

    MFC列表控件的使用

    在Microsoft Foundation Classes (MFC)库中,列表控件(List Control)是一种强大的用户界面元素,常用于显示一列或多列的数据。它提供了多种视图样式,如报告视图、图标视图和详细信息视图,使用户可以方便地浏览和...

    vc++ 控件编程 列表控件应用

    在VC++编程环境中,列表控件(List Control)是一种常用且功能强大的用户界面元素,它允许程序员以列表的形式展示数据。列表控件可以是单列或多列,支持文本、图像和自定义数据的显示,广泛应用于文件管理器、设置...

    虚拟列表控件使用方法

    虚拟列表控件是一种高效的数据展示方式,尤其在处理大量数据时,它能够在不消耗大量内存的情况下,提供流畅的用户体验。这种控件适用于Windows应用程序开发,通常由编程语言如C++或Python的GUI库(如wxWidgets)支持...

    树控件与列表控件的结合(VC)

    本教程主要探讨的是如何在VC++环境中结合使用“树控件”(Tree Control)和“列表控件”(List Control),创建出类似VC调试器中查看变量窗口的效果。这种结合能够提供层次化的数据展示,便于用户浏览和操作复杂的...

    将xls文件导入到列表控件中

    读取数据后,我们通常会得到二维数组或字符串列表,每一行对应列表控件的一条记录,每列对应一条记录的一个属性。根据需求,可能需要对数据进行格式化、过滤或排序。 3. **填充列表控件**: - CListCtrl支持多种...

    一个可折叠的VC++自定义列表控件

    一个可折叠的VC++自定义列表控件 一款VC++自定义的列表控件,可以展开、折叠。  WINDOWS应用程序的创建一般都需要使用控件,像VB、DELPHI等编程环境都提供了相当多的控件供程序员调用,这些控件基本上能满足程序...

    可编辑列表控件

    8. **文档和示例**:为了方便其他开发者使用,源代码应该包含详细的注释和一个简单的示例工程,展示如何在实际项目中集成这个可编辑的列表控件。 通过以上步骤,我们可以得到一个功能完善的可编辑列表控件。对于...

    C# 项目列表控件.zip

    本资源"项目列表控件.zip"似乎是一个包含C#源代码的压缩包,用于实现一个自定义的项目列表控件。这种控件通常用于展示项目数据,比如任务、文件或任何需要列表形式展示的信息。 项目列表控件在软件界面设计中扮演着...

    使用列表控件添加和选择数据项

    在编程和软件开发中,列表控件是一种常用的用户界面元素,它允许用户查看、添加、编辑和选择数据项。在本教程中,我们将深入探讨如何使用列表控件来实现这些功能,尤其关注动态添加和选择数据项的过程。列表控件在...

    VC++ 窗体列表控件使用实例集 list control view的几个使用技巧,包括ListBox和Combobox等

    在VC++编程环境中,窗体列表控件(List Control)是一种常用的数据展示工具,它能够以表格、图标或详细信息视图展示数据。本教程将深入探讨List Control View的使用技巧,包括ListBox和ComboBox控件的应用。 一、List...

    MFC 可编辑列表控件

    在Microsoft Foundation Classes (MFC)库中,"MFC 可编辑列表控件"是一种特殊类型的控件,它允许用户不仅能够查看数据,还可以直接在列表控件中编辑数据。这种功能增强了用户交互性,常见于数据库应用或任何需要用户...

    vc++树型列表控件

    其中,树型列表控件是一种常用且功能强大的控件,它能够以层级结构展示数据,便于用户浏览和操作。然而,VC++的标准控件库MFC(Microsoft Foundation Classes)中的CListCtrl类默认并不支持树型元素的显示。为了实现...

    MFC 自定义列表控件

    在Microsoft Foundation Classes (MFC)库中,列表控件(CListCtrl)是Windows应用程序开发中的一个重要组件。它允许程序员创建具有多种视图模式(如报告、图标、小图标和详细信息)的列表,用于显示数据集合。MFC...

    一个强大的树列表控件

    标题 "一个强大的树列表控件" 暗示我们讨论的是一个高级的用户界面组件,它结合了树形视图和列表视图的功能,通常用于数据的层次化展示。这样的控件可以提供更加灵活和直观的数据浏览体验,尤其是在处理结构化信息时...

Global site tag (gtag.js) - Google Analytics