首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flex 3-使用自定义工具提示

Flex 3-使用自定义工具提示
EN

Stack Overflow用户
提问于 2011-11-07 23:54:29
回答 1查看 892关注 0票数 0

我使用的是HERE中描述的tooltipManager。

我想为按钮栏的按钮显示一个自定义工具提示。

按钮栏的声明如下:

代码语言:javascript
复制
<mx:ButtonBar id="topToolbar" height="30" dataProvider="{topToolbarProvider}"
            iconField="icon" itemClick="topToolbarHandler(event)"
            buttonStyleName="topButtonBarButtonStyle"
            toolTipField="tooltip"/>

在这里之前,一切都很好。我确实看到工具提示中显示了正确的文本。

然后,我使用前面引用的教程创建了一个自定义工具提示管理器:

代码语言:javascript
复制
public class TooltipsManager
    {
        private var _customToolTip:ToolTip;

        public function TooltipsManager()
        {
        }

        public 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);

            customToolTip = ToolTipManager.createToolTip(text, pt.x, pt.y, "errorTipRight") as ToolTip;
            customToolTip.setStyle("borderColor", "0xababab");  

            // Move the tooltip to the right of the target
            var xOffset:int = evt.currentTarget.width + 5;//(customToolTip.width - evt.currentTarget.width) / 2;
            customToolTip.x += xOffset;        
        }

        public 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);

            customToolTip = ToolTipManager.createToolTip(text, pt.x, pt.y, "errorTipAbove") as ToolTip;
            customToolTip.setStyle("borderColor", "#ababab");

            // Move tooltip below target and add some padding
            var yOffset:int =  customToolTip.height + 5;
            customToolTip.y -= yOffset;    
        }

        public 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);

            customToolTip = ToolTipManager.createToolTip(text, pt.x, pt.y, "errorTipBelow") as ToolTip;
            customToolTip.setStyle("borderColor", "ababab");

            // Move tooltip below the target
            var yOffset:int =  evt.currentTarget.height + 5;
            customToolTip.y += yOffset;        
        }

        // Remove the tooltip
        public function killToolTip():void
        {
            ToolTipManager.destroyToolTip(customToolTip);
        }

        [Bindable]
        public function get customTooltip():ToolTip { return _customToolTip; }
        public function set customTooltip(t:ToolTip):void { _customToolTip = t; }

    }

现在,这是我开始有问题的地方...

我正在尝试使用这个自定义的工具提示,但我不知道如何让按钮栏考虑到它。

我创建了一个函数来查看何时可以调用TooltipsManager中的函数:

代码语言:javascript
复制
public function showTopToolbarTooltip(e:ToolTipEvent):void{
            trace('blabla');
        }

但它似乎从来没有被考虑在内。我把这个函数放在了不同的按钮栏的事件中: tooltipcreate,tooltipstart,tooltipend,但是什么都没发生。没有任何痕迹..。

谁能告诉我在哪里调用我的tooltipManager的函数?

非常感谢你的帮助。

致以亲切的问候,

BS_C3

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-08 00:12:05

实际上,我跳过了教程=_=中将函数附加到mouseover/out事件的一部分...很抱歉。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8038916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档