2013-04-15 48 views

回答

1

这里是my example

//应用

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx" 
      minWidth="955" minHeight="600" creationComplete="init(event)"> 
<fx:Script> 
    <![CDATA[ 
     import com.dragpanel.MyPanel; 

     import mx.events.FlexEvent; 

     protected function init(event:FlexEvent):void 
     { 
      var panel:MyPanel = new MyPanel(); 
      panel.width = 300; 
      panel.height = 200; 
      panel.title = "Hello"; 

      this.addElement(panel); 
     } 

    ]]> 
</fx:Script> 

</s:Application> 

//MyPanel.mxml

<?xml version="1.0" encoding="utf-8"?> 
<s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" 
    width="150" height="80" title="Hello" 
    mouseDown="onMouseDown(event)" mouseUp="onMouseUp(event)" 
    skinClass="com.dragpanel.PanelNoTitleBar"> 

<fx:Script> 
    <![CDATA[ 
     protected function onMouseDown(event:MouseEvent):void 
     { 
      this.startDrag(); 
     } 

     protected function onMouseUp(event:MouseEvent):void 
     { 
      this.stopDrag(); 
     } 

    ]]> 
</fx:Script> 

<s:HGroup verticalAlign="bottom" x="10" y="10"> 
    <s:Label text="Name:"/> 
    <s:TextInput width="60"/> 
</s:HGroup> 
</s:Panel> 
+0

感谢您的代码,但它拖动ñ滴,我想只是移动我的面板,如在这个例子中:http://blog.ninjacaptain.com/2008/06/draggable-panel-with-close-button/但我的面板没有标题栏 –

+0

好吧,我的错,我会尽量找到另一种解决方案。对不起 – Anton

+1

我改变了我的代码。现在它只能拖动。不可丢弃:) – Anton

0

你如何使用标题栏开始拖动?你在面板的标题栏部分有一个mouseDown监听器吗?您可以将mouseDown侦听器移动到面板本身。

+0

请你能解释我如何鼠标按下监听器移动到面板本身? –

+0

看起来你已经得到了你的答案。在Anton的例子中,很明显:'' – NTyler

+0

是的,现在我明白你的意思了=)谢谢! –

相关问题