关于Canvas 的疑问

自定义的组件:CustomRichTextEditor.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas backgroundColor="0xffccccc" xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
private function close():void
{
btn.parent.parent.removeChild(btn.parent);
}
]]>
</mx:Script>
    <mx:RichTextEditor id="richTextEditorText"  x="0" y="0" width="100%" height="100%"/>
<mx:Button id="closeBtn" label="close" width="10" height="10" top="5" right="5" click="close()"/>
</mx:Canvas>



Pop-Up管理程序:popUp.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
   width="600" height="500"  initialize="init()">
   <mx:Script>
   <![CDATA[
     import assets.customComponent.CustomRichTextEditor;
     import  mx.core.IFlexDisplayObject;
     import mx.managers.PopUpManager;
     public var richText:CustomRichTextEditor;
    
      public function popUpDialog():void
      {
      richText=new CustomRichTextEditor();
        mx.managers.PopUpManager.addPopUp(richText,this,false);
        mx.managers.PopUpManager.centerPopUp(IFlexDisplayObject(richText));

      }
   ]]>
   </mx:Script>
<mx:Button  id="richTextEditor" label="popUpManager" right="20" top="20" width="50" height="30" click="popUpDialog()"/>
</mx:WindowedApplication>


有个问题,当自定义的组件:CustomRichTextEditor.mxml中将<mx:Canvas>面板换成Panel或者TitleWindow的时候,跳出来的自定义组件是可以用鼠标拖动的,但Canvas不行,为什么????鼠标拖动的功能是由什么实现的PopUpManager类还是组件本身??我觉得应该是PopUpManager类,可是PopUpManager类里却找不到相关的资料。怎么办?



2、关于PopUpManager的疑问
代码段如下:
richText=new CustomRichTextEditor();
      richText.width=250;
      richText.height=450;
           trace(getQualifiedClassName(richText.richTextEditorText));
      mx.managers.PopUpManager.addPopUp(richText,textCanvas.getChildAt(textIndex),false);
        mx.managers.PopUpManager.centerPopUp(IFlexDisplayObject(richText));
结果为null,但是将trace语句放到mx.managers.PopUpManager.centerPopUp()之后,得到的结果是正确的,输出为mx.controls::RichTextEditor。
这是为什么?第一句已经对它进行实例化了,为什么立马下来我却不能访问它里面的属性(CustomRichTextEditor类详细见最上面的CustomRichTextEditor.mxml
),为什么却要等到……—…………………………呵呵~~不用写了~~一下想到了~~第一句已经对它进行实例化了,但是并没有将richText添加到显示列表上,所以自然就不能对它进行操作了,虽然接下来设置了它的宽高,同样也是得不到结果的。这样的话,是不是说凡是没有添加到显示列表里的类都不能对它进行操作啊~~不晓得能不能这样理解。~~~~总觉得哪里不对劲~~~~~会是哪里呢?

你可能感兴趣的:(xml,UP)