4

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

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

根据我在这里找到的文档, Everthing 应该可以正常工作。我基本上在寻找:

  1. 更详细的 Cocoa/Carbon 集成文档。
  2. 调试事件调度过程的想法。

注意:我已经尝试了这两种[NSEvent addLocalMonitorForEventsMatchingMask:]方法并替换了NSWindow sendEvent:(对于用 NSWindow 创建的initWithWindowRef)的实现。鼠标事件肯定会到达那里,但不会到达任何 Carbon 事件处理程序。

4

0 回答 0