2.13
为弹出窗口创建自定义边框
2.13.1
问题
你想为弹出窗口定义边框,让它显示一个标记,来指出是哪个控件触发了这个窗口。
2.13.2
解答
创建
PanelSkin
的子类并覆盖
updateDisplayList
方法,画出标记箭头。并把这个新的
skin
作为弹出窗口的
borderSkin.
2.13.3
讨论
以下是基于
2.12
节的。要修改
CustomPopUp
组件。要自定义窗口边框,就要设置
CustomPopUpd
的
borderSkin
样式为一个名为
CustomPanelSkin
的自定义类。
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
width="300" height="50"
styleName="customPopUp"
showCloseButton="true"
close="handleClose(event)"
borderSkin="CustomPanelSkin"
initialize="initPopUp()">
<mx:Style>
.customPopUp {
header-height:2;
padding-left:5;
padding-right:5;
padding-top:5;
padding-bottom:5;
border-color:#000000;
border-alpha:.5;
border-thickness-left:5;
border-thickness-right:5;
border-thickness-bottom:5;
border-thickness-top:5;
background-color:#666666;
color:#ffffff;
}
</mx:Style>
<mx:Text width="100%" height="100%" text="{message}"/>
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
import mx.events.CloseEvent;
[Bindable]
public var message:String;
private function handleClose(evt:CloseEvent):void {
PopUpManager.removePopUp(this);
}
private function initPopUp():void {
this.isPopUp = false;
}
]]>
</mx:Script>
</mx:TitleWindow>
CustomPanelSkin
类的代码如下。注意设置
TitleWindow
的
isPopUp
属性为
false
,以避免用户能拖动弹出框。
package
{
import flash.display.Graphics;
import mx.skins.halo.PanelSkin;
public class CustomPanelSkin extends PanelSkin
{
override protected function updateDisplayList(w:Number, h:Number):void {
super.updateDisplayList(w,h);
var gfx:Graphics = this.graphics;
gfx.beginFill(this.getStyle("borderColor"),
this.getStyle("borderAlpha"));
gfx.moveTo(this.getStyle("cornerRadius"),0);
gfx.lineTo(15,-10);
gfx.lineTo(25,0);
}
}
}
这个简单的类扩展了
PanelSkin
类,
PanelSkin
类是
TitleWindow
边框的默认皮肤。在被覆盖的
updateDisplayList
方法里,添加了在
CustomPopUp
控件左上角画一个标记箭头的代码。
- 大小: 6.2 KB
分享到:
相关推荐
Flex 3 Cookbook 简体中文版是一本专注于Flex 3技术的实用指南,由翻译协作组精心编译并免费传播。这本书旨在帮助开发者深入理解和应用Flex 3框架,包括ActionScript和MXML这两个核心组成部分。 ActionScript是Flex...
6. **动画和效果**:Flex 3提供了强大的动画和视觉效果库,书中会教你如何创建动态效果,提升用户体验。 7. **测试和调试**:书里还包含了如何使用Flex Builder进行代码调试和性能优化,帮助开发者确保应用的稳定性...
3. **组件库的使用**:Flex提供了一整套预定义的UI组件,如按钮、文本框、列表等,了解如何创建、自定义和组织这些组件以构建专业级的用户界面。 4. **数据绑定**:学习如何利用Flex的数据绑定机制,实时更新界面...
《Flex3 Cookbook》是针对Adobe Flex 3这一版本的开发指南,主要涵盖了使用Flex构建富互联网应用程序(RIA)的各种技术和策略。Flex是一个开源框架,它允许开发者使用MXML和ActionScript来创建交互式、高性能的Web...
《Flex3 Cookbook》一书由Joshua Noble...以上仅为《Flex3 Cookbook》中部分内容的概括,该书深入浅出地覆盖了Flex与ActionScript的核心技术和实践技巧,对于希望精通Flex框架的开发者而言,是一本不可或缺的参考书籍。
Flex 3 Cookbook 是一本专注于Adobe Flex 3技术的实用指南,旨在帮助开发者深入理解和应用Flex 3框架。Flex 3 是一个用于构建富互联网应用程序(RIA)的开发平台,它结合了MXML和ActionScript 3.0,使得UI设计和编程...
《Flex 4 Cookbook》是一本由Joshua Noble、Todd Anderson、Garth Braithwaite、Marco Casario 和 Rich Tretola 联合编写的英文书籍,由著名的O'Reilly Media出版,专注于Flex 4技术的实用教程。本书旨在帮助读者...
Flex 3 Cookbook by Joshua Noble; Todd AndersonPublisher: O'ReillyPub Date: May 6, 2008 Print ISBN-13: 978-0-596-52985-7 Pages: 704 The best way to show off a powerful new technology is to demonstrate...
6. **移动应用开发**:Flex 3也支持开发移动应用程序,这部分可能包含针对移动设备的优化方法。 总之,这个压缩包对于想要学习Flex和ActionScript 3.0的初学者来说是一份宝贵的资源。通过阅读中文帮助文档和实践...
《Flex 3 Cookbook 简体中文》是一本专为Flex开发者量身打造的技术参考书,旨在帮助读者深入理解和熟练运用Adobe Flex 3这一强大的富互联网应用(RIA)开发框架。这本书是众多Flex爱好者共同智慧的结晶,集实用性与...
1. 使用Flex Builder创建Flex项目:Flex Builder是基于Eclipse的集成开发环境,它提供了强大的编辑、调试和构建工具,使得创建Flex项目变得容易。 2. 创建组件:讲解如何用MXML定义自定义组件,以及如何在...
3. **组件库**:Flex 3包含大量预定义的UI组件,如按钮、文本框、列表、图表等,这些组件可直接使用,也可自定义扩展,满足不同应用场景的需求。 4. **数据绑定**:Flex 3支持数据绑定,允许开发者将界面元素与数据...
《Flex 3 Cookbook 中文版》可能包含实用的代码示例和解决常见问题的方法: 1. **代码片段和解决方案**:提供大量针对特定问题的代码示例,帮助开发者快速解决问题,提高开发效率。 2. **最佳实践**:分享一些经验...
《Flex3 Cookbook》是针对Adobe Flex 3这一版本的开发指南,它包含了丰富的代码示例和实践教程,帮助开发者深入理解和应用Flex技术。这个完整版的资源包括了源码、范例XML数据以及Bonus Chapter的代码,对于学习和...
《Flex 3 Cookbook》是一本专注于Adobe Flex 3开发的详细指南,由常青组织精心翻译,旨在为开发者提供实用的解决方案和技巧。Flex 3是Adobe开发的一个开放源码框架,用于构建富互联网应用程序(RIA),它允许开发者...
Flex 4 Cookbook
### Flex4 Cookbook 知识点概述 #### 一、书籍基本信息 - **书名**: Flex4 Cookbook - **作者**: Joshua Noble, Todd Anderson, Garth Braithwaite, Marco Casario, Rich Tretola - **出版社**: O'Reilly Media, In...