1

Win と Mac の両方で Photoshop CS5 と CS6 用のフレックス パネルと C++ プラグインを作成しています。私の C++ プラグインは、レイヤー選択の変更、ドキュメント ビューの変更などのイベントをキャプチャし、イベントを flex にディスパッチします。Flex では、これらのイベントを登録すると、適切な関数が呼び出されます。これはすべて完全に機能します。

たとえば、ユーザーが Photoshop のレイヤー パレットから別のレイヤーを選択すると、私のプラグインはイベントを送出します。このイベントはフレックスでキャプチャされ、メソッドが呼び出されます。このメソッド内で、パネルを無効にし、いくつかの処理を行ってから、パネルを再度有効にする必要があります。これは、Win XP および Photoshop CS5 では正常に機能しますが、Mac および Win 7 では正常に機能しません。また、何らかの処理が行われているときにパネルにマウスを合わせると、パネルは無効として表示され、それ以外の場合は有効として表示されます。次のコードを使用しています。

C++ では、レイヤー選択変更イベントが送出されます。Flex ではキャプチャされ、関数「LayerChange」が呼び出されます。

public function LayerChange(event:CSXSEvent):void
{
  this.enabled = false;
  CursorManager.setBusyCursor();
  //do some processing

  this.enabled = true;
  CursorManager.removeBusyCursor();
}

マウスがパネル上に移動しない限り、パネルが無効として表示されない理由を誰か教えてもらえますか?

ありがとう

4

0 に答える 0