0

私はフレックスの初心者です。現在、Winamp のプレイリスト ウィンドウがメイン ウィンドウにドッキングできるように、フレックス アプリのポップアップ パネルにドッキングするパネルを作成したいと考えています。しかし、フレックスでのドッキングに役立つものは見つかりませんでした。誰かが私にいくつかの提案をしてもらえますか?

PopUpManager をトレースしましたが、ポップアップ ウィンドウの移動に関する利用可能なインターフェイスやイベントは見つかりませんでした。設計はそれほど悪くないと思います。

ウィンドウの移動イベントのドッキングまたは処理について誰かがアドバイスをくれますか? ありがとう。

4

2 に答える 2

1

これは Google の検索で出てくるので、これにさらに情報を追加する必要があると思います。

現在、DockableFlexFlexMDIなど、フレックス用のドッキング フレームワークがいくつかあります。DockAreaFXもありますが、それは 250 ドルで、あなたがしようとしていることの範囲外のようです。それらにはすべて独自の特徴がありますが、あなたの質問は、あるコンテナを別のコンテナに接着して、一方が動くともう一方が動くようにする方法に関するものだと思います.

私の知る限り、これはフレームワークやコンポーネントで対処されたものではありませんが、自分で簡単に追加できるはずです。プロセスは次のようになると思います。

  • PopupManager を使用して、問題のポップアップを作成します
  • 問題のポップアップ内に標準のドラッグ機能を追加し、スナップのチェックを行う OnDrag のイベント リスナーを追加します。
  • OnDrag イベント リスナー内で、他のパネルへの近さを確認します。閉じている場合は、ポップアップの x と y の位置をスナップして、突き合わせます。
  • ドラッグ完了イベントのポップアップ内にイベント リスナーを追加します。この OnDragComplete イベント内で、そのパネルのドラッグ イベント - OnLockedPanelDrag に移動することを確認するパネルにイベント リスナーを追加します。
  • このイベント リスナー内では、パネルに基づいて x 座標と y 座標を更新するだけです。

ポップアップの接着を解除するには、メイン パネルのドラッグのイベント リスナーを削除します。

これには、より強力なアーキテクチャ パターンを含むより良い解決策がありますが、これは誰にとっても正しい方向に向けられるはずです。

于 2010-01-08T02:04:28.447 に答える
0

If you are talking about browser windows you're going to have to go with javascript. Flex (or flash for that matter) has a very limited ability to talk to the browser and wouldn't be able to do any such docking.

Heres a nice introduction to cross-window communication in javascript: http://www.infimum.dk/HTML/JSwindows.html

于 2009-11-14T03:29:53.040 に答える