【问题标题】:Flex: CursorManager does nothing when `stage.mouseChildren = false`?Flex:当 `stage.mouseChildren = false` 时,CursorManager 什么都不做?
【发布时间】:2010-05-31 17:30:26
【问题描述】:

我发现如果我使用CursorManager 设置光标——CursorManager.setBusyCursor()——然后设置stage.mouseChildren = false,则CursorManager 设置的光标在下次鼠标移动了。

我正在设置stage.mouseChildren = false,以便在拖动鼠标时,舞台上的其他“东西”不会收到鼠标事件(例如,如果我在在拖的中间)。

有什么办法可以解决这个问题吗?

【问题讨论】:

  • 这是因为 CursorManager 没有设置舞台光标,它是在 DisplayManager (IIRC) 上设置的,所以当您禁用要舞台儿童的鼠标事件时,它自然会恢复为舞台的默认光标。禁用 stage.mouseChildren 是个坏主意。为什么在拖动操作期间你会有一个忙碌的光标呢?当某物被拖过时,您看到了哪些鼠标悬停功能?
  • True — 通常设置 stage.mouseChildren=false 是个坏主意,但在我的情况下它工作得很好(除了这个特殊的错误),因为没有拖放,所以我不在拖动过程中不需要任何功能(想想:拖动滚动条)。
  • 此外,除了特定于应用程序的功能外,光标在 Flash TextField 上移动时会变为“条形”。
  • 而忙碌的光标只是一个例子。我的应用程序有其他游标,但使用 setBusyCursor 更容易演示。

标签: apache-flex


【解决方案1】:

这似乎是由CursorManager 中的错误引起的。我已经在 Flex 错误跟踪器上记录了它:https://bugs.adobe.com/jira/browse/SDK-26585

【讨论】:

    猜你喜欢
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    • 2016-12-24
    • 2017-04-18
    • 2011-08-03
    • 2014-05-11
    相关资源
    最近更新 更多