我有一个带有一些嵌入式Cocoa视图的Carbon应用程序,我正在尝试逐步移植到Cocoa。该应用程序当前使用Carbon事件循环(RunApplicationEventLoop
),从Carbon nib文件加载其主窗口,一切都像魅力一样。
我现在要做的是将RunApplicationEventLoop
替换为[NSApp run]
。
应用程序正确启动并显示主窗口,但并非所有事件都传递给Carbon事件处理程序。鼠标单击仅传递到嵌入在Carbon窗口中的Cocoa视图,而不传递给窗口本身的Carbon事件处理程序。
根据文件我foud here Everthing应该可行。 我基本上是在寻找:
注意:我已经尝试了两个[NSEvent addLocalMonitorForEventsMatchingMask:]
并替换了NSWindow sendEvent:
的实现(对于使用initWithWindowRef
创建的NSWindow)。鼠标事件肯定会到达那里,但不会到达任何Carbon事件处理程序。