在TooltipManager创建的工具提示中展示htmlText

时间:2010-12-31 11:17:46

标签: flex tooltip

我需要在TooltipManager创建的自定义工具提示中显示htmlText。

以下是代码。

myToolTip = ToolTipManager.createToolTip(text, pt.x, pt.y, "errorTipAbove") as ToolTip; myToolTip.setStyle("borderColor", "#FAF8CC"); myToolTip.setStyle("color", "black"); myToolTip.setStyle("fontSize","9");

我尝试过以下内容。

http://flexscript.wordpress.com/2008/08/19/flex-html-tooltip-component/

但是,如果我们将htmlText设置为工具提示,例如:button。

,则可行

请帮忙。

1 个答案:

答案 0 :(得分:1)

只需查看ToolTipManagerImpl的代码,您就会得到答案。以下是createToolTip函数创建toolTip的方式:

public function createToolTip(text:String, x:Number, y:Number,
    errorTipBorderStyle:String = null, context:IUIComponent = null):IToolTip{

    var toolTip:ToolTip = new ToolTip();

    var sm:ISystemManager = context ? context.systemManager as ISystemManager:
        ApplicationGlobals.application.systemManager as ISystemManager;
    sm.topLevelSystemManager.addChildToSandboxRoot(
        "toolTipChildren", toolTip as DisplayObject);

    if (errorTipBorderStyle){
        toolTip.setStyle("styleName", "errorTip");
        toolTip.setStyle("borderStyle", errorTipBorderStyle);
    }

    toolTip.text = text;

    sizeTip(toolTip);

    toolTip.move(x, y);
    // Ensure that tip is on screen?
    // Should x and y for error tip be tip of pointy border?

    // show effect?

    return toolTip as IToolTip;
}

所以你的答案是:

使用您自己的createToolTip函数实现创建自己的实用程序类。从Adobe的实现中复制所有代码并更改

 var toolTip:ToolTip = new ToolTip(); -> var toolTip:ToolTip = new HTMLToolTip();

使用您提到的页面中的组件。

PS:您还需要复制sizeTip功能。