`
zhanshenlvbu
  • 浏览: 110371 次
社区版块
存档分类
最新评论

Flex多选框的实现

    博客分类:
  • Flex
阅读更多

1. 现在界面上放一个容器,如BorderContainer ,id为 "bc1" 设置其深度depth为3;

2. 在bc1上加入一些子元素,如3个button,id分别为bt1、bt2、bt3 ,各自的坐标请自行设置 ;

3. 在界面上再放一个容易BorderContainer,id为 "bc1" 设置其深度depth为2,表示其在bc1的下面,其backgroundAlpha值设为0.01 ;

4. 为bc1增加鼠标按下的监听事件: bc1.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);

5. onMouseDown()方法的代码:

 

private function onMouseDown(e:MouseEvent):void {
	bc2.depth = 4;    //将bc2的深度设为4,表示其显示在bc1之上
	curPositionX = e.localX;   //当前的x坐标
	curPositionY = e.localY;   //当前的y坐标

	startPointX = curPositionX;  //起点坐标x
	startPointY = curPositionY;  //起点坐标y
	bc2.addEventListener(MouseEvent.MOUSE_MOVE,onResize);  //为bc2增加鼠标移动事件
	bc2.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);  //为bc2增加鼠标放开事件
}

 6. onResize()方法的代码:

 

private function onResize(e:MouseEvent):void {
	curPositionX = e.localX;    //当前的x坐标
	curPositionY = e.localY;    //当前的y坐标

	endPointX = curPositionX;    //结束点坐标x
	endPointY = curPositionY;    //结束点坐标y
	drawBorder();	    //画框
}

 7. drawBorder()方法的代码:

 

private function drawBorder():void {//画框
	var r_width:Number = Math.abs(startPointX - endPointX);     //框的长
	var r_height:Number = Math.abs(startPointY - endPointY);    //框的宽
	xCoordinate = Math.min(startPointX, endPointX);       //框的x坐标
        yCoordinate = Math.min(startPointY, endPointY);       //框的y坐标
				
        //recBorder为一个BorderContainer,在开头的变量中声明并且new一个,现在来为recBorder设定样式
	recBorder.visible = true;
	recBorder.alpha = 1;
	recBorder.z = 3;
	recBorder.x = xCoordinate;
	recBorder.y = yCoordinate;
	recBorder.width = r_width;
	recBorder.height = r_height;
	recBorder.setStyle("borderWeight" , 2);
	recBorder.setStyle("backgroundAlpha", 0);
									
	bc2.addElement(recBorder);     //把框添加到bc2中

        //接下来判断bt1、bt2、bt3是否在框中,如果存在,则为按钮增加样式等,此处代码省略,请自由发挥

}

 

 8. 多选玩以后,鼠标该放开了,这时候该让多选框消失了,多选完成。

private function onMouseUp(e:MouseEvent):void {
	recBorder.visible = false;  //设置多选框为不可见
	bc2.depth = 2;	     //设置bc2的深度为2,使其显示在bc1的下面
	bc2.removeEventListener(MouseEvent.MOUSE_MOVE,onResize);  //为bc2移除事件
	bc2.removeEventListener(MouseEvent.MOUSE_UP,onMouseUp);  //为bc2移除事件
}
 
分享到:
评论

相关推荐

    Flex实现带复选框的列表树

    "Flex实现带复选框的列表树"这一主题涵盖了Flex编程、UI组件设计以及事件处理等多个方面的知识点。下面我们将深入探讨这些核心概念。 1. Flex框架:Flex是Adobe公司开发的一个开源框架,用于构建富互联网应用程序...

    一个Flex带复选框的树的实现

    一个Flex带复选框的树的实现

    flex带复选框多选树三态树

    本文将详细探讨"flex带复选框多选树三态树"这一主题,它融合了Flex布局、复选框交互以及多选树结构的三态逻辑。 首先,"flex带复选框的树"是指在Flex布局中,每个树节点不仅包含文本信息,还包含一个复选框。复选框...

    FLEX带复选框LIST

    标题中的"FLEX带复选框LIST"指的是一个Flex应用程序,该程序使用了List组件,并在其项渲染器中添加了复选框,以便用户能够通过视觉标记来选择多个项目。这在数据展示和多选操作中非常常见,例如在配置设置、文件选择...

    flex Tree 复选框。

    在这个特定的场景中,我们关注的是在Flex Tree中集成复选框功能,这为用户提供了一种直观的方式来选择或操作树形结构中的多个节点。让我们深入探讨这个主题,了解如何实现Flex Tree复选框以及其与父目录状态之间的...

    flex 下拉 带复选框 多选

    总结一下,实现"flex 下拉 带复选框 多选"的功能,需要结合ComboBox或DropDownList组件,通过自定义ItemRenderer添加复选框,并处理相关的数据绑定和事件。这不仅增强了用户界面的交互性,也为用户提供了一种高效的...

    FLEX AdvancedDataGrid 复选框

    总之,“FLEX AdvancedDataGrid 复选框”涉及了Flex组件定制、数据绑定、事件处理、状态管理等多个方面,是提高用户交互性和功能性的关键技术。通过理解并应用这些知识,开发者可以构建出更加强大且易用的数据展示...

    flex 多选下拉框

    在这个场景中,"flex 多选下拉框"是一个功能组件,它允许用户在下拉列表中选择多个选项,而不是只能单选。 多选下拉框在很多类型的Web应用中都有广泛的应用,例如数据过滤、用户设置和配置选项等。它提升了用户体验...

    为移动端设计基于Flex的UI框架

    - `flex-direction`: 定义主轴方向,可选值有`row`(默认,从左到右)、`row-reverse`、`column`(从上到下)和`column-reverse`。 - `justify-content`: 控制主轴上的对齐方式,包括`flex-start`(默认,靠左或...

    flex多选下拉框

    `checkbox`是一种复选框,允许用户从一组选项中选择多个。结合`flex`布局,我们可以创建一个美观且实用的多选下拉框,其中每个选项前都有一个可选的`checkbox`。 实现这样的组件,我们需要考虑以下关键点: 1. **...

    flex Tree checkbox 修改过后的

    在Flex中,为了增加更多的交互性,我们有时需要在Tree的每个节点前添加复选框(checkbox),这使得用户能够进行多选操作。标题提到的“flex Tree checkbox 修改过后”,意味着原生的Flex Tree控件已经进行了自定义...

    Flex Datagrid checkbox实现

    在标题“Flex Datagrid checkbox实现”中,讨论的核心是Datagrid中集成复选框(checkbox)的功能。 在Flex Datagrid中实现复选框功能,主要是通过添加一个自定义的列renderer来完成。Renderer是Datagrid中的一个小...

    小程序实现多选框功能

    在微信小程序开发中,实现多选框功能是一个常见的需求,用于让用户可以选择多个选项。在本文中,我们将介绍小程序实现多选框的方法,这包括了单选、全选、多选以及删除操作的实现。对于小程序开发者来说,理解和掌握...

    flex在DataGrid中实现checkbox全选或取消

    本文将深入探讨如何在Flex中的DataGrid组件中实现复选框的全选与取消全选功能,这对于数据操作和用户交互至关重要。 在Flex的DataGrid组件中,我们通常会遇到这样的需求:当用户需要对多条记录进行批量操作时,如...

    flex的dataGrid添加复选框(checkBox)

    通过自定义ItemRenderer,你可以根据需求定制复选框的行为,例如添加样式、监听其他事件或实现更复杂的逻辑。 在实际开发中,理解DataGrid的工作原理和如何自定义它的列是非常重要的。这不仅使你能创建具有复选框的...

    flex复选框和下拉列表的几种用法整理

    在本文中,作者介绍了如何在Flex环境下使用复选框和下拉列表来实现几种常用的操作。通过实际的编码示例,我们可以学习到如何处理复选框的全选、全不选、反选以及选中特定项的操作,以及如何初始化下拉列表并将数据...

    flex advancedDataGrid 中如何实现带checkbox的树

    综上所述,实现Flex AdvancedDataGrid中带复选框的树形结构涉及数据模型的设计、HierarchicalData的使用、AdvancedDataGrid的配置以及事件处理等多个方面。通过灵活应用这些技术,我们可以创建出功能强大且易于操作...

    flex实现旋转效果

    5. 可选地,添加更多交互性和优化,如缓动效果、键盘控制等。 通过这种方式,我们能够利用Flex创建出具有视觉吸引力的产品展示,让用户体验更加生动和互动。无论你是初学者还是经验丰富的开发者,掌握这种技术都能...

    javascript+css 下拉多选框插件

    通常,它可能包含一个JavaScript文件(如`multipleSelect.js`),用于实现多选框的功能,以及一个CSS文件(如`multipleSelect.css`),用于设定样式。 在JavaScript部分,我们可能会遇到以下关键概念: 1. DOM操作...

    FlexViewer 树形结构带checkbox事件处理

    复选框则为用户提供了一种直观的交互方式,让他们可以选择多个项目。在这里,"FlexViewer 树形结构带checkbox"意味着在树形控件的每个节点上都添加了一个复选框,用户可以通过勾选这些复选框来控制与之关联的地图...

Global site tag (gtag.js) - Google Analytics