ComboBox应用 |
| 作者:佚名 来源:闪吧 作者: koaqiu 更新:2007-1-13 21:01:37 错误报告 我要投稿 |
先看看这个文件中的ComboBox
点击浏览该文件
[全屏欣赏]
由于ComboBox的宽度不够 不能全部显示所有的文本 怎么办? 上次我已经说过ComboBox的下拉列表是用List做的 如果List可以有一个水平滚动条 那么ComboBox也可以有 答案是肯定的。那么怎么实现呢?看过我上次那个帖子的人应该想到了 对! 就用ComboBox的dropdown属性。 这是代码 MyComBox.dropdown.hScrollPolicy = "on"; MyComBox.dropdown.maxHPosition = 200; 现在的效果是这样的: 现在虽然有了水平滚动条但是还有两个问题 问题一、如果maxHPosition的数值给的太小了 还是会有文本不能显示 ;如果给大了就会显示多余的空白 怎么办? 很简单。把列表中所有标签中最长的那个找出来计算他的长度 再把值辅个maxHPosition就可以了。 具体实现代码 就算是作业 留给大家了。 问题二、虽然问题一决解了 但是如果ComboBox一开始宽度就只有100 但是 如果列表中某个标签很长达到了400、500以上 那不是照样不方便吗? 好先看看这个文件 怎么样?这个效果不错吧? 怎么实现的呢? 其实这个更简单只要设置一下那个MyComBox.dropdownWidth的值就可以了。 最后要说的是 还有一个问题,因为这个问题我自己没有解决就没有在上面说。先在在这里说说,看有谁可以搞定他。 如果我们的Flash运行了一段时间后 数据发生了变化 这是就要重新计算上面用到值(maxHPosition等)。 我试过监视dataProvider属性的值的变化 但是没有成功。大家一起想想办法。 PS: 1、一般情况下ComboBox的下拉列表框 只显示5项。我们可以用“MyComBox.dropdown.rowCount=数值”来设置。 2、我们可以把上面的方法写成一个类 这样方便日后使用。 3、不要问我组件的使用方法,一般的组件使用看看帮助就能搞定的。那些高级的组件(比如XMLConnector DataSet等)我自己都不会用。 4、我只对扩展组件有兴趣。这段时间如果有空的话我会对ComboBox和List继续进行扩展。
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |