些ToolTip类确实比之前的方便多了,收藏
///////////////////////////------------------本文来自http://www.klstudio.com/post/198.html
这次做公司一个项目,发现原来的那个ToolTip类
使用起来还是不方便,故我又重新写一个更方便更灵活的ToolTip类,现在把相关源代码也公布出来。
新ToolTip类
-
package
project.do93.pflip.view
-
{
-
-
import
flash.accessibility.AccessibilityProperties;
-
import
flash.display.*;
-
import
flash.events.*;
-
import
flash.geom.Point;
-
import
flash.text.*;
-
-
-
-
-
-
-
-
-
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.init(sp);
-
-
ToolTip.register(xxx_mc,
"http://www.klstudio.com"
);
-
ToolTip.register(btn1,
"我是按钮1"
);
-
ToolTip.register(btn2,
"我是按钮2"
);
演示效果
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0">
</object>
相关文件打包下载:http://www.klstudio.com/upload/tooltip.rar
分享到:
相关推荐
保持插件的更新对于安全性和兼容性至关重要,因此建议定期检查`BetterTip`的最新版本,并根据需要进行升级。 总结,`BetterTip`是一个强大且灵活的jQuery Tooltip插件,通过其丰富的配置选项和API,开发者可以创建...
如果您希望从3.x渲染道具升级到4.x挂钩,请参阅我们的。 例子 基本用法() 用react-spring 动画外观() 使用Esc按钮关闭工具提示(源) 用作受控组件演示(源) 一旦安装了Demo,就将工具提示保留在DOM中(源...
然而,随着jQuery从1.x版本向更高版本升级,一些API的改变可能导致原有的jBox代码失效,特别是涉及到DOM操作和事件处理的部分。 针对jQuery 1.9以上的版本,jBox进行了相应的调整,确保了兼容性。这主要体现在对...
在升级或切换到此版本前,开发者应先评估其对现有应用程序的影响,确保所有必要的功能都能正常工作。同时,如果遇到任何问题或有新的需求,由于源码开放,开发者也可以自行调整代码以适应变化。
Tooltip30版[易语言3.0以上版本].ec WF1.EC Tooltip31版[易语言3.0以上版本].ec taskbar.ec Trackbar.ec TTS.EC USER32.EC USUAL.EC VERSION.EC WBCZ.EC WBFH.EC SysResInfo.ec XP按钮1.1.ec winsys.ec xlAbout.ec ...
初学VB.net 上次发了一个VB.net 2008 做的计算器,这回对上次那个计算器进行了升级,增加了许多功能(有些功能其实对于计算器来说没有必要,但我只是为了学习VB.net,所以把常用的控件几乎都在这个计算器实现了一下!...
- foo_uie_panel_splitter插件升级为0.3.8a版,注意此后此插件必须使用此版或更高版本,除非特殊说明。 - foo_uie_wsh_panel_mod插件升级为1.1.9版,注意此后此插件必须使用1.1.8或更高版本,除非特殊说明。 - foo_...
继上一版本(1.3.3.0)后再度升级,此次调整较大: 1)增加了设计时实时预览支持(允许关闭); 2)取消了控件尺寸设定的限制,允许验证码字符纵向排列; 3)增加了验证码字符字体集的设置,允许指定字体集; 4)增加了...
安装ember install ember-tooltips从2.x升级参见文献资料使用文档如下:用法本文档适用于ember-tooltips的3.x版本。 有关2.x文档,请参阅 。 注意:以下文档是Ember Octane Edition约定的最新文档。 但是,也可以...
压缩包中的"js"文件夹可能包含了Bootstrap的核心JavaScript插件,如Carousel(轮播图)、Dropdowns(下拉菜单)、Modal(模态对话框)和Tooltip(提示)等。这些插件通过jQuery库运行,增强了交互性和用户体验。...
Tooltip30版[易语言3.0以上版本].ec Tooltip31版[易语言3.0以上版本].ec Trackbar.ec TTS.EC TWnet.CN.EC URL编码解码.ec USB.ec USER32.EC user32模块.EC user模块.EC USUAL.EC VERSION.EC Vista风格...
这个版本的Bootstrap特别强调了对旧版浏览器的兼容性,包括Internet Explorer 8到IE 11,这使得它成为那些需要维护和升级“古董”网站的开发者们的理想选择。 Bootstrap的核心特性包括: 1. **响应式网格系统**:...
它通过提供一系列预定义的 CSS 类和 JavaScript 函数,使得开发者可以快速地创建各种 UI 元素,如表格、表单、对话框、菜单、按钮等。这些组件都有丰富的可配置选项,可以根据项目需求进行定制。 在表格(datagrid...
Element Plus 是一个基于 Vue 3.0 的 UI 组件库,它是著名的 Element UI 框架针对 Vue 3.0 进行的升级版。Element Plus 保持与 Element UI 的设计理念一致,同时适配 Vue 的新特性,为开发者提供了一套现代化的UI...
Tooltip31版[易语言3.0以上版本].ec Trackbar.ec transwin.ec TTS.EC TWnet.CN.EC URL 编码解码.ec USB.ec USER32.EC user32模块.EC user模块.EC USUAL.EC vcode.ec VERSION.EC ve 模块.ec Vista.ec vistaAERO模块....
Tooltip30版[易语言3.0以上版本].ec Tooltip31版[易语言3.0以上版本].ec Trackbar.ec transwin.ec TTS.EC TWnet.CN.EC URL 编码解码.ec USB.ec USER32.EC user32模块.EC user模块.EC USUAL.EC vcode.ec VERSION.EC ...
ECharts 是一个由百度开发的开源 JavaScript 数据可视化库,它提供了丰富的图表类型,适用于各种数据可视化场景。...如果你需要进一步优化性能或实现更复杂的效果,可以考虑升级到 ECharts 的更高版本。
Echarts2是早期版本,而Echarts3是其后续升级版,增加了更多特性,优化了性能,并且对API进行了调整,使得使用更加灵活和友好。在处理地图时,两者都需要地图JSON数据来渲染地图,但Echarts3在地图支持上更加完善,...