<mx:Application horizontalAlign="center"
verticalAlign="middle"
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="horizontal" horizontalGap="15"
viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
import mx.controls.Text;
import mx.managers.ToolTipManager;
import mx.controls.ToolTip;
private var myToolTip:ToolTip;
private function showToolTipRight(evt:MouseEvent, text:String):void
{
var pt:Point = new Point(evt.currentTarget.x, evt.currentTarget.y);
// Convert the targets 'local' coordinates to 'global' -- this fixes the
// tooltips positioning within containers.
pt = evt.currentTarget.parent.contentToGlobal(pt);
myToolTip = ToolTipManager.createToolTip(text, pt.x, pt.y, "errorTipRight") as ToolTip;
myToolTip.setStyle("borderColor", "#417B0D");
myToolTip.setStyle("color", "white");
// Move the tooltip to the right of the target
var xOffset:int = evt.currentTarget.width + 5;//(myToolTip.width - evt.currentTarget.width) / 2;
myToolTip.x += xOffset;
}
private function showToolTipAbove(evt:MouseEvent, text:String):void
{
var pt:Point = new Point(evt.currentTarget.x, evt.currentTarget.y);
// Convert the targets 'local' coordinates to 'global' -- this fixes the
// tooltips positioning within containers.
pt = evt.currentTarget.parent.contentToGlobal(pt);
myToolTip = ToolTipManager.createToolTip(text, pt.x, pt.y, "errorTipAbove") as ToolTip;
myToolTip.setStyle("borderColor", "#ff6600");
myToolTip.setStyle("color", "white");
// Move tooltip below target and add some padding
var yOffset:int = myToolTip.height + 5;
myToolTip.y -= yOffset;
}
private function showToolTipBelow(evt:MouseEvent, text:String):void
{
var pt:Point = new Point(evt.currentTarget.x, evt.currentTarget.y);
// Convert the targets 'local' coordinates to 'global' -- this fixes the
// tooltips positioning within containers.
pt = evt.currentTarget.parent.contentToGlobal(pt);
myToolTip = ToolTipManager.createToolTip(text, pt.x, pt.y, "errorTipBelow") as ToolTip;
myToolTip.setStyle("borderColor", "black");
myToolTip.setStyle("color", "white");
// Move tooltip below the target
var yOffset:int = evt.currentTarget.height + 5;
myToolTip.y += yOffset;
}
// Remove the tooltip
private function killToolTip():void
{
ToolTipManager.destroyToolTip(myToolTip);
}
]]>
</mx:Script>
<mx:Button label="Orange" mouseOver="showToolTipAbove(event, 'Tooltip above')" mouseOut="killToolTip()"/>
<mx:Panel title="Panel Tooltip" height="100" width="150" layout="vertical" verticalAlign="middle" horizontalAlign="center">
<mx:Button label="Black" mouseOver="showToolTipBelow(event, 'Tooltip below')" mouseOut="killToolTip()" />
</mx:Panel>
<mx:VBox>
<mx:Button label="Green" mouseOver="showToolTipRight(event, 'Tooltip to the right')" mouseOut="killToolTip()"/>
</mx:VBox>
</mx:Application>
1.定义ToolTip