2011-02-03 75 views
2

我正在使用Interface Builder爲Mac上的OpenGL Simulation開發接口。所有OpenGL的東西都是用C++寫的(我很清楚)。不幸的是,我不知道Objective-C。將焦點從NSTextField更改爲NSOpenGLView?

基本上,我有幾個NSTextField顯示屏幕上選定的對象的信息。使用這些文本區域的用戶是能夠操縱屏幕上的對象,然後有一個保存按鈕和恢復按鈕(它可以保存新值或恢復原來的值)

我有這一切工作。我的問題是,當我將數據輸入到NSTextField時,窗口的「焦點」似乎仍然保留在NSTextField上(藍色邊框保留在它的周圍)。

我使用鍵盤與NSOpenGLView中的項目進行交互,當我點擊保存或恢復按鈕時,我需要將焦點傳遞迴NSOpenGLView。

很抱歉,如果這是一個很簡單的問題

感謝

大衛

回答

3

您是否嘗試過使用NSWindow makeFirstResponder方法,使您的NSOpenGLView第一響應者?

+0

感謝胡里奧,我一直在尋找在makeFirstResponer在過去的幾個小時,但沒有得到任何地方。然後在這裏[鏈接](http://www.zerobyzero.ca/~ktatters/tutorials/tutorial0.html),我找到了從[NSApp keyWindow]調用make responder的參考,並且設法讓它工作。只需添加'[[NSApp keyWindow] makeFirstResponder:MyOpenGLView];'在我的按鈕調用函數結束時。謝謝。 – David 2011-02-03 02:01:18

2

只是設法讓它工作。

我不得不添加的行:

[[NSApp表示keyWindow] makeFirstResponder:MyOpenGLView];

到當我點擊我的任一按鈕時被調用的函數的末尾。

(感謝胡指着我在正確的方向)