flex htmlText во всплывающей подсказке, созданной TooltipManager - PullRequest
0 голосов
/ 31 декабря 2010

Мне нужно показать htmlText в пользовательской подсказке, созданной TooltipManager.

Ниже приведен код.

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 Ответ

1 голос
/ 31 декабря 2010

Просто загляните внутрь кода ToolTipManagerImpl, и вы получите ответ.Вот как функция createToolTip создает всплывающую подсказку:

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 функцию.

...