`

带图标的Combox、Dropdownlist

    博客分类:
  • Flex
阅读更多

SKin

<?xml version="1.0" encoding="utf-8"?>
<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" 
        xmlns:fb="http://ns.adobe.com/flashbuilder/2009" alpha.disabled=".5" xmlns:mx="library://ns.adobe.com/flex/mx"> 
    
    <!-- host component -->
    <fx:Metadata>
        <![CDATA[ 
        [HostComponent("spark.components.ComboBox")]
        ]]>
    </fx:Metadata> 
    
    <s:states>
        <s:State name="normal" />
        <s:State name="open" />
        <s:State name="disabled" />
    </s:states>
    
   
    <s:PopUpAnchor id="popUp"  displayPopUp.normal="false" displayPopUp.open="true" includeIn="open"
                   left="0" right="0" top="0" bottom="0" itemDestructionPolicy="auto"
                   popUpPosition="below" popUpWidthMatchesAnchorWidth="true">
        
        
        <s:Group id="dropDown" maxHeight="134" minHeight="22" >
            
            <!-- drop shadow -->
            <!--- @private -->
            <s:RectangularDropShadow id="dropShadow" blurX="20" blurY="20" alpha="0.45" distance="7" 
                                     angle="90" color="#000000" left="0" top="0" right="0" bottom="0"/>
            
            <!-- border -->
            <!--- @private -->
            <s:Rect id="border" left="0" right="0" top="0" bottom="0">
                <s:stroke>
                    <!--- @private -->
                    <s:SolidColorStroke id="borderStroke" weight="1"/>
                </s:stroke>
            </s:Rect>
            
            <!-- fill -->
            <!--- Defines the appearance of drop-down list's background fill. -->
            <s:Rect id="background" left="1" right="1" top="1" bottom="1" >
                <s:fill>
                    <!---  
                        @private
                        The color of the drop down's background fill.
                        The default color is 0xFFFFFF.
                    -->
                    <s:SolidColor id="bgFill" color="0xFFFFFF" />
                </s:fill>
            </s:Rect>
            
            <!--- @private -->
            <s:Scroller id="scroller" left="0" top="0" right="0" bottom="0" hasFocusableChildren="false" minViewportInset="1">
                <!--- @copy spark.components.SkinnableDataContainer#dataGroup-->
                <s:DataGroup id="dataGroup" >
                    <s:layout>
                        <s:VerticalLayout gap="10" horizontalAlign="contentJustify"/>
                    </s:layout>
					<s:itemRenderer>
						<fx:Component>
							<s:ItemRenderer >
								<s:Group>
									<s:layout>
										<s:HorizontalLayout verticalAlign="middle" paddingLeft="5"/>       
									</s:layout>
									<mx:Image source="{data.icon}" />
									<s:Label text="{data.label}" width="100" fontWeight="bold" paddingTop="5" paddingLeft="5"/>
									
								</s:Group>
							</s:ItemRenderer>
							
						</fx:Component>
					</s:itemRenderer>
                </s:DataGroup> 
            </s:Scroller>
        </s:Group>
    </s:PopUpAnchor>
    
    <!---  The default skin is ComboBoxButtonSkin. 
            @copy spark.components.supportClasses.DropDownListBase#openButton
            @see spark.skins.spark.ComboBoxButtonSkin -->
    <s:Button id="openButton" width="19" right="0" top="0" bottom="0" focusEnabled="false"
              skinClass="spark.skins.spark.ComboBoxButtonSkin" />  
    <!--- @copy spark.components.ComboBox#textInput -->
    <s:TextInput id="textInput"
                 left="0" right="18" top="0" bottom="0" 
                 skinClass="spark.skins.spark.ComboBoxTextInputSkin"/> 
    
</s:SparkSkin>

 MAIN

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
			   xmlns:s="library://ns.adobe.com/flex/spark"
			   xmlns:mx="library://ns.adobe.com/flex/mx"
			   viewSourceURL="srcview/index.html">
	<fx:Script>
		<![CDATA[
			import spark.events.IndexChangeEvent;
			[Bindable]
			[Embed("assets/art.png")]
			private var art:Class;

			[Bindable]
			[Embed("assets/dev.png")]
			private var dev:Class;

			protected function combobox_changeHandler(event:IndexChangeEvent):void
			{
				var temp:*=ComboBox(event.target).selectedItem;
				if (temp is String)
				{
					this.resultLabel.text=ComboBox(event.target).selectedItem;
				}
				else
				{
					this.resultLabel.text=ComboBox(event.target).selectedItem.label;
				}
			}
		]]>
	</fx:Script>
	<s:layout>
		<s:VerticalLayout verticalAlign="middle"
						  horizontalAlign="center"/>
	</s:layout>
	<s:VGroup>
		<s:Label width="50%"
				 id="resultLabel"
				 text="Please Select!!"/>
		<s:HGroup>
			<s:ComboBox change="combobox_changeHandler(event)">
				<s:dataProvider>
					<s:ArrayList>
						<fx:String>AIR</fx:String>
						<fx:String>ColdFusion</fx:String>
						<fx:String>Dreamweaver</fx:String>
						<fx:String>Flash</fx:String>
						<fx:String>Flex</fx:String>
						<fx:String>Photoshop</fx:String>
					</s:ArrayList>
				</s:dataProvider>
			</s:ComboBox>
			<s:ComboBox change="combobox_changeHandler(event)"
						skinClass="skins.MyComboBoxSkin">
				<s:dataProvider>
					<s:ArrayList>
						<fx:Object label="AIR"
								   icon="{dev}"/>
						<fx:Object label="ColdFusion"
								   icon="{dev}"/>
						<fx:Object label="Dreamweaver"
								   icon="{art}"/>
						<fx:Object label="Flash"
								   icon="{art}"/>
						<fx:Object label="Flex"
								   icon="{dev}"/>
						<fx:Object label="Photoshop"
								   icon="{art}"/>
					</s:ArrayList>
				</s:dataProvider>
			</s:ComboBox>
		</s:HGroup>
	</s:VGroup>
</s:Application>
 
2
10
分享到:
评论
3 楼 guangqiang 2012-06-29  
linfeng0169 写道
必须支持一下 找了 好久没找到flex4的下拉列表带图标的例子 但是flex3的 确有很多 自己尝试了很久也没尝试出来皮肤怎么写 还是3的比较方便 一个方法就搞定了~!

互相学习 互相帮助。。。
2 楼 linfeng0169 2012-06-29  
必须支持一下 找了 好久没找到flex4的下拉列表带图标的例子 但是flex3的 确有很多 自己尝试了很久也没尝试出来皮肤怎么写 还是3的比较方便 一个方法就搞定了~!
1 楼 strugglesMen 2011-05-04  
Polygon是flex的扩展类,是用来在flash版 google 地图上画多边形,他好像不是uicomponent组件,那他

为什么有图形界面呢,怎样重写能让Polygon具有effect效果呢?

Polygon继承关系
http://alt.coxnewsweb.com/ajc/swf/_2010_Flash/MapsTest/sdk/docs/com/google/maps/overlays/Polyg

on.html

Polygon详细介绍
http://code.google.com/intl/zh-CN/apis/maps/documentation/flash/reference.html#Polygon

相关推荐

    vc listcontrol 图标 combox获取本地信息

    综上所述,实现"vc listcontrol 图标 combox获取本地信息"需要理解并熟练运用MFC中的CListCtrl和CComboBox类,以及Windows API的相关函数,以构建一个能够展示本地硬盘信息并带有图标的用户界面。通过合理的数据结构...

    带图标的combox

    标题中的“带图标的combox”指的是在编程中,特别是在Windows GUI(图形用户界面)开发中,使用的一种控件——带有图标的组合框(ComboBox)。组合框是常见的UI元素,它结合了下拉列表和文本输入框的功能,允许用户...

    VC++在窗体的combox中添加图标列表的示例

    内容索引:VC/C++源码,界面编程,combox VC++在combox窗体中添加图标列表的示例,因为默认的列表是纯文字的,个人感觉如果添加一个图标的话会对用户有提示作用,提升软件体验,研究了几天,参考了以前的,现在基本...

    C#中实现在combobox显示图标

    在.NET框架中,C#是一种常用的编程语言,用于开发Windows应用程序。...不过,如果不想自行实现,也可以考虑使用一些第三方库,如DevExpress、Telerik等,它们提供了更丰富的UI控件,包括带有图标的ComboBox。

    带图像的Combox

    标题中的“带图像的Combox”指的是在Visual Basic 6.0(VB6.0)环境中创建的一个特殊类型的ComboBox控件,它不仅包含了文本选项,还具有显示图像的功能。ComboBox控件是Windows应用程序中常见的控件类型,通常用于...

    VC 为combox列表控件添加图标功能.rar

    VC 为combox列表控件添加图标功能,经过本改良后,下拉列表框每个内容项前面都会出现一个小图标,使用combox更专业化、更直观的显示各个内容项,要比纯文字的列表所展现的内容更全面,因为图标你可以根据自己的需要...

    wpf中listvi的使用(带有combox)

    在本文中,我们将深入探讨如何在WPF(Windows Presentation Foundation)中使用ListView控件,并特别关注如何在ListView中集成ComboBox。ListView是WPF提供的一种强大的数据展示控件,它可以显示各种布局和格式化的...

    WPF中带combox的listview简单使用

    ListView是一个用于显示一组数据的控件,可以以多种视图模式展示,如列表、小图标、大图标等。ComboBox则是一个下拉列表框,通常用于让用户在预设的选项中选择一个。在WPF中,两者结合可以使ListView的每一行都有一...

    combox

    combox的栏数如何生成?

    DropdownList自定义样式

    一共需要另外的两个文件,一个Combox.js和一个Combox.css文件。其代码在下边,另外需要在aspx页面的&lt;head&gt;&lt;/head&gt;里加入 ... ... 两行代码,一行是引入css样式表,一行是...new Combox("DropDownList1",300,280); &lt;/script&gt;

    CheckedComBox带多选的ComBox

    标题中提到的"CheckedComBox带多选的ComBox"正是这样一种控件,它扩展了传统的ComboBox功能,增加了多选能力。在传统的ComboBox中,用户只能选择单个选项,而在 CheckedComboBox 中,用户可以勾选多个选项,这在需要...

    Winform中的ComBox控件实现换行 当文本长度达到最大时实现换行

    comboBox.DropDownStyle = ComboBoxStyle.DropDownList; comboBox.Font = new Font("宋体", 12f); // 设置字体 comboBox.DataSource = new object[] { "长文本示例1", "更长的文本示例2", "非常非常非常非常非常...

    WPF_MVVM中DataGrid列中使用ComBox绑定

    本话题将探讨如何在MVVM架构下,将ComBox控件集成到DataGrid列中,并实现其与数据模型的双向绑定,以实现在选择ComBox项后,数据能够即时更新到绑定的实体中。 首先,我们需要理解DataGrid的基本用法。DataGrid是...

    下拉菜单 DropDownList 下拉选项空白无法显示文本的解决方案.rar

    在C# WinForm开发中,`DropDownList`控件是一个常用的元素,用于提供用户可以选择的预定义选项。然而,有时可能会遇到一个常见的问题,即下拉列表中的选项看似空白,无法显示文本。这种情况通常是由于多种原因造成的...

    带checkbox,edit ,combox的listctrl

    `ListCtrl`可以包含多个列,并且可以定制各种视图模式,如报告、小图标、大图标和列表视图。 标题中的"checkbox"是指在`ListCtrl`的每一行中添加复选框。这个功能使得用户可以方便地对列表项进行多选操作,常见于...

    c#Winform Combox控件重绘

    在Winform应用中,Combox控件是一个常见的选择项列表组件,用于显示下拉菜单供用户选择。本文将详细探讨如何在VS2017环境下,针对.Net 2.0版本的Combox控件进行重绘操作。 首先,理解“重绘”(Redraw)的概念。在...

    combox 列表嵌套checkbox

    在描述中提到的“实现combox 下拉框中列表带有checkbox,实现多选”,这涉及到了自定义控件和事件处理的知识点。在.NET Framework或.NET Core中,可以使用C#语言来实现这一功能。以下是一个简要的实现步骤: 1. **...

    带有GridView的Combox控件.rar

    在这个名为“带有GridView的Combox控件.rar”的压缩包中,我们可以推测它包含了一个使用C#编写的Windows Forms应用示例,其中可能着重展示了如何将GridView和ComboBox控件结合使用。GridView通常用于显示数据网格,...

    delphi控件ComboxGrid

    ComboxGrid是一款在Delphi开发环境中使用的自定义控件,它是Combobox(下拉框)和Grid(表格)功能的结合体,为用户提供更丰富的数据选择和显示方式。在Delphi编程中,ComboxGrid控件可以极大地提高用户体验,因为它...

    js 实现combox 树选择

    在JavaScript编程中,"js 实现combox 树选择"是指使用JS来创建一个具有下拉树形结构的组合框(ComboBox)。ComboBox通常用于提供一个输入框和一个下拉列表,用户可以在输入框中直接键入,或者从下拉列表中选择一个值...

Global site tag (gtag.js) - Google Analytics