`
yunzhongxia
  • 浏览: 647428 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ComboBox 显示icon

 
阅读更多

       spark中ComboBox默认渲染器是一个label,如果想修改显示方式,可以通过在skinClass来实现,默认的渲染器是DefaultItemRenderer。

 

 

              MyComboBox.mxml

     

<?xml version="1.0" encoding="utf-8"?>
<!--

ADOBE SYSTEMS INCORPORATED
Copyright 2008 Adobe Systems Incorporated
All Rights Reserved.

NOTICE: Adobe permits you to use, modify, and distribute this file
in accordance with the terms of the license agreement accompanying it.

--> 
<!--- The default skin class for the Spark ComboBox component. 
The skin for the anchor button for a ComboBox component 
is defined by the ComboBoxButtonSkin class.  The skin for the text input
is defined by the ComboBoxTextInputSkin class.

@see spark.components.ComboBox        
@see spark.skins.spark.ComboBoxButtonSkin

@langversion 3.0
@playerversion Flash 10
@playerversion AIR 1.5
@productversion Flex 4
-->
<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"> 
    
    <!-- host component -->
    <fx:Metadata>
        <![CDATA[ 
        /** 
        * @copy spark.skins.spark.ApplicationSkin#hostComponent
        */
        [HostComponent("spark.components.ComboBox")]
        ]]>
    </fx:Metadata> 
    
	<!--
		NOTE: this skin file contains sub-parts that may continue to react to
		Style code.  To remove this behavior create new copies of those skins
		and remove the styles.
	-->
    <s:states>
        <s:State name="normal" />
        <s:State name="open" />
        <s:State name="disabled" />
    </s:states>
    
    <!--- 
        The PopUpAnchor control that opens the drop-down list. 
        
        <p>In a custom skin class that uses transitions, set the 
        <code>itemDestructionPolicy</code> property to <code>none</code>.</p>
    -->
    <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">
        
        <!--- 
            This includes borders, background colors, scrollers, and filters. 
            @copy spark.components.supportClasses.DropDownListBase#dropDown
        -->
        <s:Group id="dropDown">
            
            <!-- 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>                                     
									<s: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" tabEnabled="false" />  
    <!--- @copy spark.components.ComboBox#textInput -->
    <s:TextInput id="textInput" enabled.disabled="false"
                 left="0" right="18" top="0" bottom="0" 
                 skinClass="spark.skins.spark.ComboBoxTextInputSkin"/> 
    
</s:SparkSkin>

 

 

    Application.mxml

 

<s:ComboBox skinClass="org.sdp.skins.MyComboBox">                 
		<s:dataProvider>                    
			<s:ArrayList>                         
				<fx:Object label="AIR" icon="{imgCls}"/>    
				<fx:Object label="ColdFusion"  icon="{imgCls2}"/>          
				<fx:Object label="Dreamweaver" icon="{imgCls}"/>           
				<fx:Object label="Flash"  icon="{imgCls2}"/>                         
				<fx:Object label="Flex"   icon="{imgCls}"/>                         
				<fx:Object label="Photoshop" icon="{imgCls2}"/>                     
			</s:ArrayList>                 
		</s:dataProvider>             
	</s:ComboBox> 

 

0
0
分享到:
评论

相关推荐

    C#中实现在combobox显示图标

    这个过程展示了如何在C#中通过自定义控件实现ComboBox显示图标的功能。通过这种方式,你可以自由地设计和定制用户界面,提高应用程序的用户体验。不过,如果不想自行实现,也可以考虑使用一些第三方库,如DevExpress...

    在combobox控件中添加图标

    首先在窗体中添加一个comboBox1和一个imageList(本例中带有三个图片) this.comboBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;

    icon combobox

    Icon Combobox是ExtJS中Combobox组件的一种扩展,它在标准Combobox的基础上增加了显示图标的功能。这种组件通常用于提供带有图标的选项,用户可以通过点击下拉列表选择相应的项,同时图标可以帮助用户快速识别每个...

    为ComboBox控件添加图片

    在开发图形用户界面(GUI)应用时,经常会遇到需要在下拉列表框(ComboBox)中显示图标或图片的需求。本文将详细介绍如何使用C#编程语言,在.NET框架中实现这一功能。具体而言,我们将通过自定义`ComboBox`控件并...

    easyui-textbox和easyui-combobox的onchange事件响应实例

    对于 `easyui-textbox`,我们通过 `onchange` 属性直接绑定了一个名为 `handleTextboxChange` 的函数,该函数会弹出一个警告框显示当前输入框的值。对于 `easyui-combobox`,我们则使用 `data-options` 属性的 `...

    COMBOBOX.rar

    `ICON_COMBOBOX_SRC`可能是带有图标的COMBOBOX,除了文字信息,还可以显示图标,使得选择更加直观,比如在应用程序设置中选择不同的主题或图标样式。 总的来说,这个资源包覆盖了COMBOBOX的多种应用场景和扩展功能...

    QT 自定义混合控件——基于View/Model/Delegate的QTableView/QTreewidget/Combobox实现

    在本项目"QT自定义混合控件——基于View/Model/Delegate的QTableView/QTreewidget/Combobox实现"中,我们将深入探讨如何利用QT库中的核心组件构建一个强大的数据展示和交互界面。 首先,我们要理解View/Model/...

    Java 自定义带图标的ComboBox控件.rar

    Java 自定义并生成带图标的ComboBox控件,为ComboBox控件... 定义Object二维数组,用于初始化下拉框,参数依次为图标,显示文本,提示文本,初始化ComboBox下拉框,下拉框事件处理,用匿名类实现,最后增加组件到主窗体上。

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

    ListView有两种主要的视图模式:报告视图(Report View)和图标视图(Icon View)。报告视图适合显示大量的结构化数据,而图标视图则更适用于简洁的图形表示。 二、ListBox控件详解 ListBox是另一种常见的列表控件...

    组合框VC源代码:icon_combobox_src

    - “icon_combobox_src”可能实现了在组合框中显示图标的功能,这在标准的Windows ComboBox中并不直接支持。 - 这可能通过自定义控件类,继承自MFC的CComboBox类,并重写其OnDrawItem()、MeasureItem()等方法来...

    Qt QComboBox下拉框及用法(详解版)1

    ui-&gt;comboBox-&gt;addItem(icon, "Item 1"); // 添加带图标的项 ui-&gt;comboBox-&gt;addItem("Item 2"); // 添加不带图标的项 ``` 此外,`addItems()`函数可以一次添加多个列表项,特别是当项的数据来源于QStringList时: ...

    miniui常用界面设置

    本教程将围绕“MiniUI常用界面设置”这一主题,深入探讨MiniGUI中的关键知识点,包括按钮三态的实现、定时器的使用、BMP图片数字显示以及鼠标悬停提示。 1. **按钮三态**:在许多用户界面设计中,按钮通常有三种...

    C#中MessageBox的使用.docx

    例如,`MessageBoxButtons.YesNo`定义了两个按钮(“是”和“否”),而`Icon`参数可以设置为`Icon.Error`、`Icon.Question`、`Icon.Warning`或`Icon.Information`,以显示不同的图标。 6. **控件交互**: - 示例...

    Explains how to display the windows ’Pick Icon’ dialog(12K

    在Windows编程中,特别是使用Microsoft Visual C++,显示“Pick Icon”对话框通常涉及以下几个关键知识点: 1. **资源管理**:Windows应用程序中的图标是作为资源存储的,可以是`.ico`文件或者在项目资源文件(如`....

    状态棒显示控件

    本示例将深入探讨如何在VC++ MFC环境下创建和展示进度条(Progress Bar)、编辑框(Edit Control)、组合框(Combobox Control)以及图标(icon)在状态栏中的应用。 首先,我们需要了解MFC中状态栏的基本结构。...

    在Java的下拉列表中使用图标功能.rar

    这种实现方式可以灵活地处理各种类型的图标,无论是头像还是版本示意图,只要将其转换为Icon对象,就可以与文本一起显示在下拉列表中。 总结一下,要在Java的JComboBox中添加图标功能,你需要: 1. 创建自定义的...

    Ext IconComBox 图片下拉框

    这可以通过监听ComboBox的`select`事件并更新`iconCls`或`icon`属性来实现。同时,你还可以利用Ext JS的模板系统来自定义列表项的展示,将图标与文字结合在一起。 以下是一个简单的IconComBox配置示例: ```...

    C#文件夹操作例题

    为了增强用户体验,可以考虑在显示文件和文件夹时添加图标,例如,使用`Icon`类获取系统图标库中的文件夹和文件图标。此外,还可以实现递归功能,展示选定驱动器下所有级别的子文件夹。 总之,这个C#文件夹操作例题...

    Visual C++ 编程资源大全(源码 控件)

    autocombo.zip 自动选择的ComboBox(18KB)&lt;END&gt;&lt;br&gt;82,ccpicker2.zip 选择颜色的ComboBox(2)(29KB)&lt;END&gt;&lt;br&gt;83,combtext.zip 增强了的CCombobox&lt;4KB&gt;&lt;END&gt; 84,flatcomb.zip 浮动的ComboBox COOL(4KB)...

    ext的扩展控件之IconComboBox

    这个控件允许在文字前面显示图标,为用户提供更加直观和丰富的交互体验,比如在选择国家时,用户可以同时看到国旗图标和国家名称。 IconComboBox的核心是EXT.form.Combobox,它是EXT JS中用于创建下拉列表的组件。...

Global site tag (gtag.js) - Google Analytics