使用例子:
sample.as
var toolTip : ToolTip = new ToolTip (this);
toolTip.setTipText (this.frm_Main.lbl_Test1, "Hi,this is a flash tool tip
test.");
源代码:
/*********************************
* Flash ToolTip
* Author : 杨国清@上海
* EMail : woderoom@hotmail.com
* Version : 1.0.0.0
*********************************/
import mx.managers.DepthManager;
class base.component.ToolTip
{
private var _parentObj:MovieClip;
private var _aryTipPool:Array;
private var _toolTip :MovieClip;
public function ToolTip (parentObj:MovieClip)
{
this._parentObj = parentObj;
this._aryTipPool = new Array();
parentObj.createTextField("_toolTip",DepthManager.kTop,0,0,0,0);
_toolTip = eval(targetPath(parentObj) + "._toolTip");
_toolTip.background=true;
_toolTip.backgroundColor = 0xFFFFCC;
_toolTip.border=true;
_toolTip.borderColor=0x919999;
_toolTip.autoSize="left";
_toolTip.wordWrap=false;
_toolTip.selectable=false;
_toolTip._visible=false;
var tFormat:TextFormat=new TextFormat();
//tFormat.size=9;
tFormat.font="Verdana";
tFormat.size=10;
//tFormat.font="MS ゴシック";
_toolTip.setTextFormat(tFormat);
_toolTip.setNewTextFormat(tFormat);
}
public function setTipText(mc_Target:MovieClip,strValue:String)
{
if(mc_Target != undefined && strValue != undefined)
{
var objTip : Object = new Object();
var bHasFlag : Boolean = false;
for(var i=0;i<_aryTipPool.length;i++)
{
if(mc_Target == _aryTipPool[i].target)
{
_aryTipPool[i].tipText = strValue;
bHasFlag = true;
break;
}
}
if(!bHasFlag)
{
objTip["target"] = mc_Target ;
objTip["tipText"] = strValue ;
_aryTipPool.push(objTip);
mc_Target.addEventListener("mouseMove",this);
}
}
}
/**
* @private
* mouseMove event
*/
function mouseMove(evt)
{
var mc_Target : Object = evt.target;
if (((mc_Target._xmouse>=0) && (mc_Target._xmouse<=mc_Target._width))
&& ((mc_Target._ymouse>=0) && (mc_Target._ymouse<=mc_Target._height))) {
var strTip:String;
for(var i=0;i<_aryTipPool.length;i++)
{
if(mc_Target == _aryTipPool[i].target)
{
strTip = _aryTipPool[i].tipText;
break;
}
}
if(strTip != undefined && strTip != null && strTip != "")
{
drawToolTip(strTip);
}
}else{
clearToolTip();
}
}
/**
* @private
* Draw the tooltip on the parent object
*
* @param tip the tooltip string.
*/
private function drawToolTip(strTip:String):Void
{
_toolTip.text=strTip;
positionTip();
_toolTip._visible=true;
}
/**
* @private
* Clear the tooltip on the parent object
*
*/
private function clearToolTip():Void
{
_toolTip._visible=false;
_toolTip.text=undefined;
}
/**
* @private
* Get the tooltip visible
*
*/
private function isShow():Boolean
{
return (_toolTip._visible);
}
private function positionTip()
{
// Position the upper-left of the tooltip at the lower-right of the arrow
cursor.
var x = _parentObj._xmouse + 11;
var y = _parentObj._ymouse + 22;
// If the tooltip is too wide to fit onstage, move it left.
if (x + _toolTip._width > Stage.width)
{
x = Stage.width - _toolTip._width;
}
// If the tooltip is too tall to fit onstage, move it up.
if (y + _toolTip._height > Stage.height)
{
y = Stage.height - _toolTip._height;
}
_toolTip._x= x
_toolTip._y= y;
}
}
sample.as
var toolTip : ToolTip = new ToolTip (this);
toolTip.setTipText (this.frm_Main.lbl_Test1, "Hi,this is a flash tool tip
test.");
源代码:
/*********************************
* Flash ToolTip
* Author : 杨国清@上海
* EMail : woderoom@hotmail.com
* Version : 1.0.0.0
*********************************/
import mx.managers.DepthManager;
class base.component.ToolTip
{
private var _parentObj:MovieClip;
private var _aryTipPool:Array;
private var _toolTip :MovieClip;
public function ToolTip (parentObj:MovieClip)
{
this._parentObj = parentObj;
this._aryTipPool = new Array();
parentObj.createTextField("_toolTip",DepthManager.kTop,0,0,0,0);
_toolTip = eval(targetPath(parentObj) + "._toolTip");
_toolTip.background=true;
_toolTip.backgroundColor = 0xFFFFCC;
_toolTip.border=true;
_toolTip.borderColor=0x919999;
_toolTip.autoSize="left";
_toolTip.wordWrap=false;
_toolTip.selectable=false;
_toolTip._visible=false;
var tFormat:TextFormat=new TextFormat();
//tFormat.size=9;
tFormat.font="Verdana";
tFormat.size=10;
//tFormat.font="MS ゴシック";
_toolTip.setTextFormat(tFormat);
_toolTip.setNewTextFormat(tFormat);
}
public function setTipText(mc_Target:MovieClip,strValue:String)
{
if(mc_Target != undefined && strValue != undefined)
{
var objTip : Object = new Object();
var bHasFlag : Boolean = false;
for(var i=0;i<_aryTipPool.length;i++)
{
if(mc_Target == _aryTipPool[i].target)
{
_aryTipPool[i].tipText = strValue;
bHasFlag = true;
break;
}
}
if(!bHasFlag)
{
objTip["target"] = mc_Target ;
objTip["tipText"] = strValue ;
_aryTipPool.push(objTip);
mc_Target.addEventListener("mouseMove",this);
}
}
}
/**
* @private
* mouseMove event
*/
function mouseMove(evt)
{
var mc_Target : Object = evt.target;
if (((mc_Target._xmouse>=0) && (mc_Target._xmouse<=mc_Target._width))
&& ((mc_Target._ymouse>=0) && (mc_Target._ymouse<=mc_Target._height))) {
var strTip:String;
for(var i=0;i<_aryTipPool.length;i++)
{
if(mc_Target == _aryTipPool[i].target)
{
strTip = _aryTipPool[i].tipText;
break;
}
}
if(strTip != undefined && strTip != null && strTip != "")
{
drawToolTip(strTip);
}
}else{
clearToolTip();
}
}
/**
* @private
* Draw the tooltip on the parent object
*
* @param tip the tooltip string.
*/
private function drawToolTip(strTip:String):Void
{
_toolTip.text=strTip;
positionTip();
_toolTip._visible=true;
}
/**
* @private
* Clear the tooltip on the parent object
*
*/
private function clearToolTip():Void
{
_toolTip._visible=false;
_toolTip.text=undefined;
}
/**
* @private
* Get the tooltip visible
*
*/
private function isShow():Boolean
{
return (_toolTip._visible);
}
private function positionTip()
{
// Position the upper-left of the tooltip at the lower-right of the arrow
cursor.
var x = _parentObj._xmouse + 11;
var y = _parentObj._ymouse + 22;
// If the tooltip is too wide to fit onstage, move it left.
if (x + _toolTip._width > Stage.width)
{
x = Stage.width - _toolTip._width;
}
// If the tooltip is too tall to fit onstage, move it up.
if (y + _toolTip._height > Stage.height)
{
y = Stage.height - _toolTip._height;
}
_toolTip._x= x
_toolTip._y= y;
}
}