Flex Panel未显示为已禁用

时间:2012-11-06 11:58:43

标签: actionscript-3 flex photoshop flex4.5

我在Win和Mac上为Photoshop CS5和CS6创建了一个flex面板和一个C ++插件。我的C ++插件捕获诸如图层选择更改,文档视图更改等事件以及将事件调度到flex的事件。在flex中,我注册这些事件并调用适当的函数。这一切都很完美。

例如,当用户从Photoshop的Layer Palette中选择另一个图层时,我的插件将调度一个事件。此事件在flex中捕获,并调用方法。在这个方法里面我需要禁用我的面板,做一些处理然后再次启用我的面板。这适用于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();
}

有人可以告诉我为什么除非鼠标在面板上移动,否则面板不显示为禁用?

由于

0 个答案:

没有答案