4

私はCocoaに徐々に移植しようとしているCocoaビューが埋め込まれたCarbonアプリを持っています。アプリは現在、Carbon イベント ループ ( RunApplicationEventLoop) を使用し、Carbon nib ファイルからメイン ウィンドウをロードし、すべてが魅力的に機能します。

私が今やろうとしているのは、に置き換えることRunApplicationEventLoopです[NSApp run]。アプリケーションは正しく起動し、メイン ウィンドウが表示されますが、すべてのイベントが Carbon イベント ハンドラに配信されるわけではありません。マウス クリックは、その Carbon ウィンドウに埋め込まれた Cocoa ビューにのみ配信されますが、ウィンドウ自体の Carbon イベント ハンドラーには配信されません。

ここで見つけたドキュメントによると、すべてがうまくいくはずです。私は基本的に探しています:

  1. Cocoa/Carbon 統合のより詳細なドキュメント。
  2. イベント ディスパッチ プロセスをデバッグするためのアイデア。

注:私は(で作成されたNSWindowの場合)[NSEvent addLocalMonitorForEventsMatchingMask:]の実装と置き換えの両方を試みました。マウス イベントは確実にそこに到着しますが、どの Carbon イベント ハンドラーにも到着しません。NSWindow sendEvent:initWithWindowRef

4

0 に答える 0