如何将鼠标事件从Cocoa事件循环调度到Carbon窗口?

时间:2013-06-14 15:57:25

标签: macos cocoa macos-carbon

我有一个带有一些嵌入式Cocoa视图的Carbon应用程序,我正在尝试逐步移植到Cocoa。该应用程序当前使用Carbon事件循环(RunApplicationEventLoop),从Carbon nib文件加载其主窗口,一切都像魅力一样。

我现在要做的是将RunApplicationEventLoop替换为[NSApp run]。 应用程序正确启动并显示主窗口,但并非所有事件都传递给Carbon事件处理程序。鼠标单击仅传递到嵌入在Carbon窗口中的Cocoa视图,而不传递给窗口本身的Carbon事件处理程序。

根据文件我foud here Everthing应该可行。 我基本上是在寻找:

  1. Cocoa / Carbon整合的更详细文档。
  2. 调试事件调度过程的想法。
  3. 注意:我已经尝试了两个[NSEvent addLocalMonitorForEventsMatchingMask:]并替换了NSWindow sendEvent:的实现(对于使用initWithWindowRef创建的NSWindow)。鼠标事件肯定会到达那里,但不会到达任何Carbon事件处理程序。

0 个答案:

没有答案