新手问题...我是 xcode 和 OpenFrameWorks 的新手,但我有 C++ 经验。我正在尝试向项目添加一个主菜单文件,但默认情况下它不会对已经存在的菜单进行任何修改。我如何告诉 xCode 使用我的 MainMenu.xib 而不是它正在使用的任何东西? 我正在使用 Xcode 4.2.1 和从网页下载的示例 openFramework 应用程序。谢谢!!!
最佳答案
目前(在 openFrameworks 0.8.0+ 中默认),openFrameworks 在 OS X 上的窗口系统中使用 GLFW。
GLFW 不加载 xibs/nibs,而是在源代码中设置菜单。您可以在此处查看 GLFW 设置菜单栏的位置:
https://github.com/glfw/glfw/blob/76afd4172727892286fe5728580021a26d198c49/src/cocoa_window.m#L738
如果你想修改 Cocoa 窗口的任何方面,GLFW 提供了一个窗口句柄,可以通过以下方式在 openFrameworks 中访问它(当然这只适用于 OS X,但 native 窗口句柄可用于X11 和 Windows 也是如此):
#include <Cocoa/Cocoa.h>
// ...
NSWindow * appWindow = (NSWindow *)ofGetCocoaWindow();
if(appWindow) {
// make your obj-c calls here
}
此外,您可能需要确保源文件以 .mm 后缀命名或在项目设置中设置为解释为 objective-c++。
祝你好运!
关于c++ - 如何在 openFrameworks 中自定义 OS X 菜单栏选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20090312/