Flex工具提示定位不正确

Flex工具提示定位不正确

问题描述:

假设我正在尝试在我视图上的组件左侧放置工具提示。布局可能类似于此:Flex工具提示定位不正确

<mx:HBox> 

    <mx:Button id="btnBack" 
       label="Back" 
       click="btnBack_click();" /> 

    <mx:Button id="btnFirstLoadDemo" 
       label="First Load Demo" 
       click="btnFirstLoadDemo_click();" /> 

</mx:HBox> 

我使用下面的代码来获得位置来放置提示:

var pt:Point = new Point(btnFirstLoadDemo.x, btnFirstLoadDemo.y); 
pt = btnFirstLoadDemo.contentToGlobal(pt); 

点通过contentToGlobal(折算后),该点的X坐标是非常不正确的。

我已经找到一种方法,只需在这样的另一个HBox中包裹的目标组件来解决此:

<mx:HBox> 

    <wcb:Button id="btnBack" 
       label="Back" 
       click="btnBack_click();" /> 
    <mx:HBox> 
     <wcb:Button id="btnFirstLoadDemo" 
       label="First Load Demo" 
       click="btnFirstLoadDemo_click();" /> 
    </mx:HBox> 

</mx:HBox> 

任何想法是怎么回事?

你在混合坐标空间。 x and y位于父容器的坐标空间中,但是您正在转换,就好像它们在按钮本身的坐标空间中一样。

<mx:HBox id="container"> 
    <mx:Button id="btnBack" /> 
    <mx:Button id="btnFirstLoadDemo" /> 
</mx:HBox> 

var pt:Point = new Point(btnFirstLoadDemo.x, btnFirstLoadDemo.y); 
var globalPoint:Point = container.contentToGlobal(pt); 
+0

哇,我是白痴,好抓,谢谢! – user277240 2010-02-19 22:57:09