4.14.给一个Text 组件中的文本添加拖拽阴影

rea 组件中的当前文字添加一个拖拽阴影。4.14.2. 解决办法使用BitmapData 对象来获取一份TextField 的拷贝,同时添加这个位图到父组件的一个偏移点来模拟阴影4.14.3. 讨论当你尝试显示一个TextArea 或者Text 组件中的当前内容的阴影图像,你只不过需要取得可以再现文本域中所有信息的位图,然后添加到父组件中就行了。移动图像稍微偏离中心同时降低透明度值来降低其亮度,这样就提供了正常的视觉效果。既然这样基于UIComponent类来创建一个自定义组件以便减少开发进程,让你从flash.display 包中直接读取和添加ActionScript 底层显示组件。The
http://www.w3dev.cn/article/20100310/1865.aspx

2.5.设置组件的标签索引

2.5.1. 问题我需要改变Flex 应用程序中默认的组件索引顺序2.5.2. 解决办法使用Flex 组件的tabIndex 属性来指定组件的特定组件的索引顺序。2.5.3. 讨论默认情况,所有可被Tab 访问的Flex 组件(指可以通过Tab 键顺序访问的组件)都拥有基于屏幕布局的索引顺序。在如下例子中,TextInput 组件的tabIndex 属性会被设定为从左到右的Tab 索引顺序:+展开-XMLmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="horizontal"mx:VBoxmx:Labeltext="
http://www.w3dev.cn/article/20100305/1801.aspx

3.1.使用布局管理器布置子组件

组件之间加上Spacer 控件:+展开-XMLmx:VBoxwidth="400"height="300"verticalGap="20"mx:Buttonlabel="Button"/mx:ComboBoxtop="60"/mx:Spacerheight="20"/mx:LinkButtonlabel="LinkButton"//mx:VBox可以通过添加paddingTop、paddingLeft、paddingRight 或paddingBottom 风格属性来改变补白风格属性或者说改变边框与子组件、子组件与子组件之间的距离。这会对添加到容器中的所有子组件奏效。如果要把某一单个子组件
http://www.w3dev.cn/article/20100305/1812.aspx

3.4.在容器中动态添加和移除子组件

nent 控件也有removeChild 方法,该方法要求传入一个需要移除的子组件的引用。Flex 提供了不同的方法来访问被添加到容器中的子组件。在获悉如何访问子组件之后,你可以使用访问子组件得到的引用来移除它们。例如,任何添加到MXML 容器的子组件都可以通过它们的id 属性来访问。任何容器的所有子组件都可以使用getChildAt 来访问它们,如下:+展开-ActionScriptgetChildAt(index:int);如果赋以了name 属性,也可以通过name 属性来访问它们。要确定任何组件所包含的子组件个数,使用numChildren 属性:+展开-ActionScriptvar
http://www.w3dev.cn/article/20100305/1815.aspx

3.6.在容器内为子组件设置最大、最小尺寸

需要添加多个子组件到某个组件里,并且保证如果子组件的数量扩大超过一定数量的时候,子组件将添加到容器下一行去。3.6.2 解决办法使用maxWidth 或者maxHeight 属性来决定组件内的子组件放置在何处。3.6.3 讨论maxWidth 和maxHeight 样式属性定义了组件父亲允许其显示的最大高度和宽度。下面的代码段里,将检查maxWidth 样式属性以保证添加的组件不会引起容器超过其父亲容器所允许的最大宽度。如果即将超过最大宽度,则会生成另一个HBox 组件,并且接下来添加的图片会被添加到新生成的HBox 里。VBox 容器的布局管理器会负责适当的布置新添加的子组件。代码如下:+
http://www.w3dev.cn/article/20100305/1817.aspx

3.10.控制Box 组件的布局

3.10.1 问题你既要控制Box 组件的横向和纵向布局,也要控制组件之间的横向和纵向间距及其子组件的居中设置。3.10.2 解决办法使用verticalAlign 和horizontalAlign 属性同时使用direction 属性设置Box 的布局方向。3.10.3 讨论mx.containers.Box 类定义了几个属性,来控制Box 内的子组件的布局。它们是:direction决定容器如何布置其子组件。值可为vertical 或horizontal。horizontalAlign决定子组件的横向对齐方式,可以设置为left、right 或者centerhorizontalGap在di
http://www.w3dev.cn/article/20100305/1821.aspx

3.17.在TabNavigator内创建、启用和禁用TAB组件(TabControls)

ddChild 和removeChild 方法添加或者移除子组件,同时设置子组件的enabled 属性来启用或者禁用TabNavigator 里的某个tab 项。3.17.3 讨论所有添加到TabNavigator 中的子组件,都会在TabNavigator 顶部的导航条添加一个新tab项。同样移除子组件的时候也会自动移除对应的tab 项。通过绑定TabNavigator 的dataProvider 属性也能行得通。dataProvider 的所有改变都会引起TabNavigator 更新及其顶部导航条子组件的增加或者减少。这里,组件内创建了访问方法以提供对TabNavigator控件的访问:
http://www.w3dev.cn/article/20100305/1828.aspx

3.20.根据呼出组件设置对话框的尺寸和位置

出它的组件相同尺寸和位置。3.20.2 解决办法使用MouseEvent 的target 属性来确定调用该方法的组件的信息,同时,使用mx.geometry.Rectangle 类来确定呼出的组件实际宽高及其在Stage 内的位置。3.20.3 讨论为了保证无论应用程序的layout 设定为absolute, horizontal,还是vertical,对话框都会添加到应用程序中并且显示在正确的位置,你需要创建一个可关闭的TabNavigator,该TabNavigator 的所有tab 项都是可关闭的,关闭某个tab 项的时候即从TabNavigator 中移除对应tab 项下的子组件。将对
http://www.w3dev.cn/article/20100305/1831.aspx

3.22.在容器中滚动到某个指定的子组件

控制滚动通过单独的控件。3.22.2 解决办法根据需要滚动到的子组件的索引,使用getChildAt 方法获取滚动时经过的所有子组件,并计算滚动经过的这些子组件的高度之和。然后使用计算得到的值来设置容器的verticalScrollPosition 属性值。3.22.3 讨论在下面的例子中,包含子组件的Vbox 将verticalScrollPolicy 属性设置为off,并且将一个事件侦听绑定到ComboBox 的change 属性上。当触发change 事件的时候,函数循环遍历所有VBox 的子组件,知道找出需要的那个子组件,求和。然后把这个和设置到Vbox 的verticalScrol
http://www.w3dev.cn/article/20100305/1833.aspx

3.26.控制子组件的可见性和布局

无破坏地从容器的已有布局中移动子组件。3.26.2 解决办法使用UIComponent 类的includeInLayout 属性同时把visibility 设置为空。3.26.3 讨论某容器的子组件的includeInLayout 属性表明该子组件是否包含在父亲布局子组件使用的任意布局计划中:VBox, HBox, 或一个Canvas 的居中设置。如果仅仅简单地将子组件的visibility 设置为false,它将仍然包含在父亲的布局机构当中,拥有足够容纳其宽和高所需要的空间。改为将includeInLayout 设置成false 以保证Hbox 不会给该子组件布局空间:+展开-ActionS
http://www.w3dev.cn/article/20100305/1837.aspx

3.29.控制子组件的位置和滚动

3.29.1 问题你需要滚动一个父组件并且移动除了一个子组件之外的其它所有子组件。3.29.2 解决办法在容器定义的scrollChildren方法内,根据verticalScrollPosition属性重新定位子组件。3.29.3 讨论容器的scrollChildren 方法测量容器的contentPane 这个DisplayObject,它包含了添加到容器中的所有子组件,同时确定在滚动的时候测量到的子组件要显示出多少。contentPane则根据horizontalScrollPosition 和verticalScrollPosition 属性移动。容器自身则像是contentPane
http://www.w3dev.cn/article/20100305/1840.aspx

1.10.在ActionScript中创建组件

1.问题我想用ActionScript而不是MXML去创建组件。1.10.2.解决办法创建ActionScript文件并继承一个Flex库组件。1.10.3.讨论除了在MXML中创建组件为,你还可以在ActionScript中创建它们而根本不需要MXML。操作有点不同,只需要几步。首先确定你的类正确定义包名,下面的例子中,组件所在目录是以应用程序级目录开始,然后是oreilly/cookbook/,这就是包名称的意义:package oreilly.cookbook另一个区别是任何被包括或引入的类都必须使用全路径导入进来,这包括任何组件即将继承的类,例如这里的mx.containers.Can
http://www.w3dev.cn/article/20100304/1787.aspx

1.13.组件属性绑定

1.13.1.问题我创建的组件中想让其属性是可绑定的,可绑定到其他组件上。1.13.2.解决办法创建getter和setter方法,用metadata标签把这些方法标记为Bindable,元数据标签里还包含当属性被设置时其方法所发出的事件名称。1.13.3.讨论当属性值发生改变时,在属性上添加Bindable元数据标签,发出相应事件,任何对象都可以被定义为可绑定属性。最佳方法就是通过get和set函数定义这些绑定属性。当属性被设置时,一个名称和Bindable标签一样的事件发出,例如:+展开-ActionScriptpackageoreilly.cookbook{importflash.eve
http://www.w3dev.cn/article/20100304/1790.aspx

23.7.上传文件

问题我想让用户上传文件解决办法使用FileReference对象的upload( )方法讨论FileReference对象的upload( )方法允许使用服务端脚本通过HTTP(s)上传文件,upload( )方法至少需要一个为URLRequest类型的对象作为参数,用于指定服务端脚本的URL:+展开-ActionScriptvarurlRequest:URLRequest=newURLRequest("uploadScript.cgi");fileReference.upload(urlRequest);所有上传使用POST传输方式,Content-Type为multipart/form-
http://www.w3dev.cn/article/20100301/1758.aspx

23.8.监视文件上传进度

问题我想知道文件的上传进度解决办法监听progress事件讨论和监视下载进度一样,当文件上传时FileReference 对象发出progress 事件,完成时发出completed事件,请看第23.3 节。
http://www.w3dev.cn/article/20100301/1759.aspx

第三章 第四节 使用Flex 图表组件

charts5. 高低开合形图表/HighLowOpenClose charts6. 线形图表/Line charts7. 饼形图表/Pie charts8. 标绘形图表/Plot charts除了上述图形类型,你还可以扩展CartesianChart 控件来创建定制的图表。定义图表数据  所有的图表控件都使用dataProvider 属性去定义图表的数据。图表组件使用一个简单的、或基于列表的数据提供器/data provider,类似于一维数组。  数据提供器由两部分组成:数据对象的收集和API。API 是类执行的一套方法和属性,而数据提供器在Flex 组件和数据之间创建了一个抽象的层次。
http://www.w3dev.cn/article/20100209/1419.aspx

第四章 第八节创建定制的组件

辑器设计模式下,将组件视图中布局分类里的面板容器,拖拉到Main.mxml 文件里。4. 选择Main.mxml 文件中的面板容器,进行相应的属性设置:Title: Main Application WindowWidth: 375Height: 300X: 20Y: 20布局看起来就象这样:5. 保存文件。现在,你可以构造并测试定制的组件了。创建定制组件文件构造定制MXML 组件的第一步是创建文件。大多数进行定制的组件都是利用已经存在的组件。比如你的新登录框组件,是由MXML 面板组件扩展而来,因为它提供了用于登录表格的基本用户界面。在开始之前,创建一个子目录去保存定制组件。1. 在导航视图
http://www.w3dev.cn/article/20100209/1429.aspx

ASP.NET管线与应用程序生命周期

onManager类负责创建一个应用程序域。每个ASP.NET应用程序都运行于自己的应用程序域中,由唯一的应用程序标识符标识。 每个应用程序域都对应着一个ApplicationManager类的实例,由它来负责管理运行在域中的ASP.NET应用程序(比如启动和停止一个ASP.NET应用程序,在指定的ASP.NET应用程序中创建对象等等)。3 创建HostingEnvironment对象 在为ASP.NET应用程序创建应用程序域的同时,会创建一个HostingEnvironment对象,此对象提供了ASP.NET应用程序的一些管理信息(比如ASP.NET应用程序的标识,对应的虚拟目录和物理目录
http://www.w3dev.cn/article/20100203/1370.aspx

在Access里使用查询建立存储过程/视图 并使用ASP执行

造类似于 MSSQL 存储过程的功能, 并在 ASP 中操作插入数据,显示数据功能.目录:1. 在 Access 查询里建表, 名 tt2. 在 Access 查询里新建查询, 内容为:...3. 在 ASP 里使用 tt_insertParm 添加10条记录到 表tt3.1 构造ASP ado 连接函数, fCreateCnn 与 fCloseCnn3.2 组合使用 fCreateCnn, fCloseCnn, tt_insertParm 添加记录4. 在 Access 查询里 创建 显示数据用的 存储过程/视图, 内容:...5. 在 ASP 里使用 tt_selectParm 选取数据
http://www.w3dev.cn/article/20100107/1283.aspx

发一个支持iframe的无刷上传文件的ajax类库

在原来的ajax类库基础上添加了post方法,直接提交表单,而不需要手动收集要提交的键和值。并在此基础上判断enctype是否为"multipart/form-data"类型,如果是则表单提交到隐藏的iframe中实现无刷新上传文件。不过需要注意的是网站使用的编码为utf-8。+展开-JavaScriptvarShowbo={version:'1.0',author:'showbo',intro:'通用',homepage:'//'};//是否为ie浏览器Showbo.IsIE=!!document.all;//从字符串或者xhr对象还原为json对象Showbo.Ajax.ErrorJson
http://www.w3dev.cn/article/20100106/1280.aspx

ASP操作Excel技术总结

笔者开发asp代码喜欢用FrontPage,结果发现如果FrontPage打开(服务器端),对象创建出现不稳定现象,时而成功时而不成功。扩展考察后发现,Office系列的软件如果在服务器端运行,则Excel对象的创建很难成功。服务器端还必须要设置的一点是COM组件的操作权限。在命令行键入“DCOMCNFG”,则进入COM组件配置界面,选择Microsoft Excel后点击属性按钮,将三个单选项一律选择自定义,编辑中将Everyone加入所有权限。保存完毕后重新启动服务器。客户端的环境配置没发现什么特别讲究的地方,只要装有Office和IE即可,版本通用的好象都可以。二、 asp对Exc
http://www.w3dev.cn/article/20091130/1191.aspx

ASP.NET AJAX:Timer控件简单使用

本文主要通过一个简单示例,让Web页面在一定的时间间隔内局部刷新,来学习一下ASP.NET AJAX中的服务端Timer控件的简单使用。主要内容Timer控件的简单使用1.添加新页面并切换到设计视图。2.如果页面没有包含ScriptManager控件,在工具箱的AJAX Extensions标签下双击ScriptManager控件添加到页面中。3.单击ScriptManager控件并双击UpdatePanel控件添加到页面中。4.在UpdatePanel控件内单击并双击Timer控件添加到UpdatePanel中。Timer控件可以作为UpdatePanel的触发器不管是否在UpdatePa
http://www.w3dev.cn/article/20091118/1121.aspx

ASP.NET AJAX:在多个UpdatePanle中使用Timer控件 (2)

yet."/asp:Label/ContentTemplate/asp:UpdatePanelasp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server"Triggersasp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" //TriggersContentTemplateasp:Label ID="Label2" runat="server" Text="UpdatePanel2 not refreshed yet."/asp:Label
http://www.w3dev.cn/article/20091118/1122.aspx

asp.net定时触发事件

ion("TimeStamp") 的值,的确发现这个值在每隔 10 秒地变化一次,而其他时候则保持不变。与我们的预期是一致的。 意义: 通过引入计时器我们可以在 ASP.NET 的全局性程序(Application)中灵活的使用计时器完成一些定时操作,比如:在社区/论坛系统中,每隔 5 分钟更新一次在线用户列表,每隔 1 个小时更新一次用户经验值,或者每隔一天备份一次关键数据等等。这个思路应该是很诱人的。 探讨: Q: 是否在 ASP.NET 代码的任何地方都可以使用计时器呢? A: 我没有测试过在普通 *.aspx 中插入计时器的情形。但从 B/S 程序的特点来看,即使在 *.aspx 中插
http://www.w3dev.cn/article/20091118/1127.aspx

使用ASP.NET 2.0 CSS 控件适配器生成CSS友好的HTML输出

今天早些时候在 www.4guysfromrolla.com 上也贴了一篇非常好的关于CSS 控件适配器的文章,对如何使用它们做了讨论。 你可以在 http://www.asp.net 的 CSS Control Adapters论坛 上对如何使用它们提问和得到帮助。 希望本文对你有所帮助, Scott 附注:1。我要向Russ和Heidi表示特别的感谢,感谢他们在建造CSS控件适配器和样本例子方面所作的出色工作!2。想阅读我另外的ASP.NET 技巧/诀窍博客帖子的话,请浏览我的ASP.NET 技巧,诀窍和资源网页。 标签: ASP.NET, .NET, Tips and Tricks
http://www.w3dev.cn/article/20091118/1128.aspx