`

[转][AS3]ToolTip类的升级版

阅读更多
http://nianshi.iteye.com/blog/743847

# package project.do93.pflip.view 
# { 
#      
#     import flash.accessibility.AccessibilityProperties; 
#     import flash.display.*; 
#     import flash.events.*; 
#     import flash.geom.Point; 
#     import flash.text.*; 
#     /**
#      * @link kinglong@gmail.com
#      * @author Kinglong
#      * @version 0.1
#      * @since 20090608
#      * @playerversion fp9+
#      * 热区提示
#      */  
#     public class ToolTip extends Sprite { 
#         private static var instance:ToolTip = null; 
#         private var label:TextField;         
#         private var area:DisplayObject; 
#         public function ToolTip() { 
#             label = new TextField(); 
#             label.autoSize = TextFieldAutoSize.LEFT; 
#             label.selectable = false; 
#             label.multiline = false; 
#             label.wordWrap = false; 
#             label.defaultTextFormat = new TextFormat("宋体", 12, 0x666666); 
#             label.text = "提示信息"; 
#             label.x = 5; 
#             label.y = 2; 
#             addChild(label); 
#             redraw(); 
#             visible = false; 
#             mouseEnabled = mouseChildren = false; 
#         } 
#          
#         private function redraw() { 
#             var w:Number = 10 + label.width; 
#             var h:Number = 4 + label.height;             
#             this.graphics.clear(); 
#             this.graphics.beginFill(0x000000, 0.4); 
#             this.graphics.drawRoundRect(3, 3, w, h, 5, 5);               
#             this.graphics.moveTo(6, 3 + h); 
#             this.graphics.lineTo(12, 3 + h); 
#             this.graphics.lineTo(9, 8 + h); 
#             this.graphics.lineTo(6, 3 + h); 
#             this.graphics.endFill(); 
#             this.graphics.beginFill(0xffffff); 
#             this.graphics.drawRoundRect(0, 0, w, h, 5, 5); 
#             this.graphics.moveTo(3, h); 
#             this.graphics.lineTo(9, h); 
#             this.graphics.lineTo(6, 5 + h); 
#             this.graphics.lineTo(3, h); 
#             this.graphics.endFill(); 
#         } 
#          
#         public static function init(base:DisplayObjectContainer) { 
#             if (instance == null) { 
#                 instance = new ToolTip(); 
#                 base.addChild(instance);                 
#             } 
#         } 
#          
#         public static function register(area:DisplayObject, message:String):void { 
#             if(instance != null){ 
#                 var prop:AccessibilityProperties = new AccessibilityProperties(); 
#                 prop.description = message; 
#                 area.accessibilityProperties = prop; 
#                 area.addEventListener(MouseEvent.MOUSE_OVER, instance.handler); 
#             } 
#         } 
#          
#         public static function unregister(area:DisplayObject):void { 
#             if (instance != null) { 
#                 area.removeEventListener(MouseEvent.MOUSE_OVER, instance.handler); 
#             } 
#         } 
#          
#         public function show(area:DisplayObject):void { 
#             this.area = area; 
#             this.area.addEventListener(MouseEvent.MOUSE_OUT, this.handler); 
#             this.area.addEventListener(MouseEvent.MOUSE_MOVE, this.handler); 
#             label.text = area.accessibilityProperties.description; 
#             redraw();            
#         } 
#  
#          
#         public function hide():void { 
#             this.area.removeEventListener(MouseEvent.MOUSE_OUT, this.handler); 
#             this.area.removeEventListener(MouseEvent.MOUSE_MOVE, this.handler); 
#             this.area = null; 
#             visible = false; 
#         } 
#          
#         public function move(point:Point):void {              
#             var lp:Point = this.parent.globalToLocal(point); 
#             this.x = lp.x - 6;           
#             this.y = lp.y - label.height - 12; 
#             if(!visible){ 
#                 visible = true; 
#             } 
#         } 
#          
#         private function handler(event:MouseEvent):void { 
#             switch(event.type) { 
#                 case MouseEvent.MOUSE_OUT: 
#                     this.hide(); 
#                     break; 
#                 case MouseEvent.MOUSE_MOVE: 
#                     this.move(new Point(event.stageX, event.stageY));                    
#                     break; 
#                 case MouseEvent.MOUSE_OVER: 
#                     this.show(event.target as DisplayObject); 
#                     this.move(new Point(event.stageX, event.stageY)) 
#                     break; 
#             } 
#         } 
#          
#     } 
# }
调用:
# import project.do93.pflip.view.ToolTip; 
# var base:Sprite = new Sprite(); 
# addChild(base); 
# var sp:Sprite = new Sprite(); 
# sp.mouseEnabled=sp.mouseChildren=false; 
# addChild(sp); 
# //初始化ToolTip; 
# ToolTip.init(sp); 
# //与显示元素关联。 
# ToolTip.register(xxx_mc, "http://www.klstudio.com"); 
# ToolTip.register(btn1, "我是按钮1"); 
# ToolTip.register(btn2, "我是按钮2");
分享到:
评论

相关推荐

    as3 tooltip的例子

    首先,Tooltip类在AS3中提供了创建和管理提示窗口的能力。它允许你自定义提示内容、样式和行为。在描述中提到的“一个tooltip类,表示一个长方形的小弹出窗口”,实际上就是在创建一个自定义的Tooltip类,以便在用户...

    as3 鼠标提示类ToolTip

    在ActionScript 3 (AS3)中,ToolTip 类是一个用于创建和管理鼠标悬停提示的内置组件。这个类使得开发者可以自定义显示在鼠标指针附近的文本或图形提示,为用户提供更多的上下文信息。在本篇文章中,我们将深入探讨...

    as3 Tooltip

    在AS3中,Tooltip类是Adobe官方提供的基础组件,但它的外观和行为可能较为简单,不能满足所有设计需求。而这个自定义的Tooltip类则可能提供了更丰富的定制选项,如字体、颜色、动画效果等,使得提示信息更具吸引力和...

    [AS3]提示信息类-ToolTip(flash)

    本文将深入探讨AS3中的ToolTip类,以及如何在Flash项目中有效地利用它来提升用户体验。 首先,让我们理解什么是ToolTip。ToolTip是用户界面设计中常见的一种元素,当用户将鼠标指针悬停在特定的UI组件(如按钮、...

    前端开源库-d3tooltip

    import * as d3_tooltip from 'd3tooltip'; ``` 或者,如果你的项目支持AMD或CommonJS模块系统,可以直接通过`require`来引入: ```javascript const d3_tooltip = require('d3tooltip'); ``` 对于非模块化环境,...

    Tooltip

    3. **事件处理**:为了在鼠标悬停时显示Tooltip,需要监听控件的鼠标事件。例如,当鼠标进入控件区域时显示Tooltip,离开时隐藏。 4. **样式和布局**:Tooltip的外观可以通过设置字体、颜色、背景色、边框等属性...

    MFC_ToolTip超级类(可以实现各种类型的ToolTip的弹出)

    3. `cpptooltip_src.zip`:这可能是`ToolTip`超级类的源代码,供开发者深入研究和修改,以便在自己的项目中集成或进一步定制。 在实际项目中,使用这样的`ToolTip`超级类可以帮助提高用户体验,因为它允许开发者...

    3D地球+自定义tooltip,自定义样式完美显示

    3. 初始化ECharts实例,配置3D地球的相关参数,如旋转角度、缩放比例等。 4. 配置tooltip,设置其为自定义模式,并指定自定义的样式和内容模板。 5. 使用CSS定义tooltip的样式,包括定位、过渡动画等,确保其在页面...

    VC 简洁的tooltip提示类

    在标题提到的"VC 简洁的tooltip提示类"中,我们可以理解为这是一个专门为VC++开发的自定义类,用于增强或简化对控件(如static、Edit、Button等)添加Tooltip提示的过程。 Tooltip提示通常用于提供额外的信息,当...

    简单 ToolTip 类

    简单 ToolTip 类,可以设置显示位置,自己控制显示或隐藏。

    能够实现多行显示tooltip的类

    标题中的“能够实现多行显示tooltip的类”指的是在编程中创建的一种自定义控件,它扩展了标准的tooltip功能,使其支持显示多行文本。通常,系统默认的tooltip只支持单行显示,但在这个情况下,开发人员可能已经编写...

    MFC中的tooltip的类

    标题“MFC中的tooltip的类”指的是利用MFC来实现这一功能的相关类和方法。虽然Tooltip在实际应用中非常常见,但对于初学者来说,理解并正确使用它们可能会有些复杂。 首先,我们要了解MFC中的Tooltip类`...

    带有tooltip的ClistCtrl类

    实现带有tooltip的ClistCtrl类,我们需要完成以下步骤: 1. **创建自定义ClistCtrl类**: 首先,我们需要创建一个继承自ClistCtrl的自定义类,例如CToolTipListCtrl。在这个新类中,我们将重写一些必要的成员函数...

    MFC示例:ToolTip的使用.rar

    3. **创建和添加ToolTip**: - 首先,你需要在你的MFC类中创建一个`CToolTipCtrl`对象。 - 然后,调用`CToolTipCtrl::Create`函数初始化ToolTip控件。 - 接下来,使用`CToolTipCtrl::AddTool`方法为每个需要显示...

    表格单元格自定义ToolTip组件

    1. 创建新的ToolTip类:继承自Adobe Flex的基础ToolTip类,或者使用IFeedback接口来创建自定义反馈组件。 2. 配置显示内容:根据需求,可以将内容动态生成,也可以预先设定,如使用数据绑定将单元格数据与ToolTip...

    tooltip

    在IT行业中,"tooltip"是一个常见的交互元素,主要用于在用户将鼠标悬停在特定元素上时显示额外的信息。这个压缩包文件包含了一些关于tooltip实现的基本资源,如样式表(tooltip.css),HTML页面(tooltip.htm),...

    jQuery plugin: Tooltip(转)

    3. **定位**:根据鼠标位置和Tooltip内容的尺寸,计算并设置Tooltip的CSS位置,使其在鼠标附近正确显示。 4. **样式定制**:使用CSS,我们可以调整Tooltip的外观,如颜色、字体、边框和阴影等。 接下来,我们将...

    Flash Tooltip AS3 气泡提示框的源代码

    内容索引:Flash源码,其它应用,Tooltip,AS3,气泡提示  Flash Tooltip AS3 气泡提示框的源代码,内含有5个不同风格的Flash气泡提示框,大小不同、颜色不同,动态的效果也不同,作Flash产品展示的话,会用到Tips,本源...

    易语言模块Tooltip30版[易语言3.0以上版本].rar

    易语言模块Tooltip30版[易语言3.0以上版本].rar 易语言模块Tooltip30版[易语言3.0以上版本].rar 易语言模块Tooltip30版[易语言3.0以上版本].rar 易语言模块Tooltip30版[易语言3.0以上版本].rar 易语言模块...

    vc中tooltip应用

    3. **关联控件和Tooltip**:使用`CToolTipCtrl::AddTool`将文本编辑器控件与Tooltip关联,设定提示文字,例如可以是关于编辑功能的说明或快捷键提示。 4. **处理消息**:可能需要重载`ON_WM_MOUSEHOVER`和`ON_WM_...

Global site tag (gtag.js) - Google Analytics