如何在openFrameworks中自定义OS X菜单栏选项?

时间:2013-11-20 07:56:36

标签: c++ objective-c xcode user-interface openframeworks

新手问题...我是xcode和OpenFrameWorks的新手,但我有C ++经验。我正在尝试向项目添加主菜单文件,但默认情况下它不会对菜单进行任何修改。我如何告诉xCode使用我的MainMenu.xib而不是它使用的是什么? 我正在使用Xcode 4.2.1和从网页下载的示例openFramework应用程序。感谢!!!

1 个答案:

答案 0 :(得分:3)

目前(默认情况下在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,但是本机窗口句柄可用于X11和Windows也是如此):

#include <Cocoa/Cocoa.h>

// ...
NSWindow * appWindow = (NSWindow *)ofGetCocoaWindow();
if(appWindow) {
    // make your obj-c calls here
}

此外,您可能需要确保源文件以.mm后缀命名,或者设置为在项目设置中解释为objective-c ++。

祝你好运!