0

当我拖动面板的任何部分时,我想拖动没有标题的面板。我已经知道如何从面板中删除标题,并且我知道如何使用标题栏拖动它。但我不知道如何拖动没有标题..请帮助。

4

2 回答 2

1

这是我的例子

//应用

<?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>
于 2013-04-15T15:08:59.483 回答
0

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

于 2013-04-15T14:58:44.970 回答