2

Interface Builderを使用して、MacでOpenGLシミュレーション用のインターフェイスを開発しています。すべてのOpenGLのものはC++で書かれています(私はかなりよく知っています)。残念ながら、Objective-Cについてはわかりません。

基本的に、画面で選択されたオブジェクトに関する情報を表示するNSTextFieldがいくつかあります。これらのテキストフィールドを使用すると、ユーザーは画面上のオブジェクトを操作でき、[保存]ボタンと[復元]ボタン(新しい値を保存するか、元の値を復元する)があります。

私はこれをすべて機能させています。私の問題は、NSTextFieldにデータを入力すると、ウィンドウの「フォーカス」がNSTextFieldに残っているように見えることです(青い境界線がその周りに残っています)。

キーボードを使用してNSOpenGLView内のアイテムを操作します。[保存]または[復元]ボタンを押したときに、フォーカスをNSOpenGLViewに戻す必要があります。

これが非常に簡単な質問である場合は申し訳ありません

ありがとう

デビッド

4

2 に答える 2

3

NSWindow makeFirstResponderメソッドを使用して、NSOpenGLViewをファーストレスポンダーにしようとしましたか?

于 2011-02-03T01:25:09.300 に答える
2

なんとかそれを機能させることができました。

次の行を追加する必要がありました。

[[NSApp keyWindow] makeFirstResponder:MyOpenGLView];

いずれかのボタンをクリックすると呼び出される関数の最後まで。

(私を正しい方向に向けてくれたJulioに感謝します)

于 2011-02-03T02:03:15.717 に答える