将焦点从NSTextField更改为NSOpenGLView?

时间:2011-02-03 00:54:24

标签: objective-c cocoa focus nstextfield nsopenglview

我正在使用Interface Builder为Mac上的OpenGL Simulation开发界面。所有OpenGL的东西都是用C ++编写的(我非常清楚)。不幸的是我不知道Objective-C。

基本上,我有几个NSTextField显示屏幕上选择的对象的信息。使用这些文本字段,用户可以在屏幕上操作对象,然后有一个保存按钮和一个恢复按钮(保存新值或恢复原始值)

我把这一切都搞定了。我的问题是,当我将数据输入NSTextField时,窗口的“焦点”似乎仍保留在NSTextField上(蓝色边框保留在它周围)。

我使用键盘与NSOpenGLView中的项目进行交互,当我点击“保存”或“恢复”按钮时,我需要将焦点传递回NSOpenGLView。

对不起,如果这是一个非常简单的问题

由于

大卫

2 个答案:

答案 0 :(得分:3)

你是否尝试过使用NSWindow makeFirstResponder方法让你的NSOpenGLView成为第一个响应者?

答案 1 :(得分:2)

只是设法让它发挥作用。

我不得不添加一行:

[[NSApp keyWindow] makeFirstResponder:MyOpenGLView];

单击我的任一按钮时,

到被调用函数的末尾。

(感谢Julio指出我正确的方向)