是否有一種方法可以在使用glut(glutCreateWindow(「title」);)創建窗口時刪除MAC OSX中的菜單欄項目?Glut窗口 - MAC OSX中的菜單欄
或者是否有任何其他替代方案來創建(菜單)窗口的OSX使用C/C++和過剩的OpenGL?
是否有一種方法可以在使用glut(glutCreateWindow(「title」);)創建窗口時刪除MAC OSX中的菜單欄項目?Glut窗口 - MAC OSX中的菜單欄
或者是否有任何其他替代方案來創建(菜單)窗口的OSX使用C/C++和過剩的OpenGL?
Glut與菜單欄無關。你可以做的是通過glutFullscreen()將應用程序放到全屏中,然後在你的Glut窗口中定義幾個視口來模擬你自己的窗口。
glut在Mac OSX上創建菜單欄項甚至鍵盤快捷鍵(只需嘗試Command + S,你會感到驚訝......)。沒有訪問Cocoa,沒有簡單的方法去除這些東西。 從這裏過剩的源代碼顯示了所有的東西正在實施:
http://developer.apple.com/library/mac/#samplecode/glut/Introduction/Intro.html
爲了在GLUT擺脫菜單中,你必須做到以下幾點:
添加以下代碼glutInit()後:
if (NSApp){
NSMenu *menu;
NSMenuItem *menuItem;
[NSApp setMainMenu:[[NSMenu alloc] init]];
menu = [[NSMenu alloc] initWithTitle:@""];
[menu addItemWithTitle:@"About..." action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""];
menuItem = [[NSMenuItem alloc] initWithTitle:@"Apple" action:nil keyEquivalent:@""];
[menuItem setSubmenu:menu];
[[NSApp mainMenu] addItem:menuItem];
[NSApp setAppleMenu:menu];
}
的代碼是由湯姆·德咕嚕從這裏:http://www.degrunt.net/2010/09/22/using-nsmenu-outside-the-nib/
這將使用您的應用程序名稱在菜單中設置您的應用程序,只有一個「關於...」按鈕。剛剛刪除菜單會導致崩潰,因爲GLUT需要一個菜單併爲此註冊回調。
我有搜索上下網絡的答案,並希望這將幫助其他人遇到同樣的問題。
非常感謝!我仍然使用GLUT進行Mac App Store提交,看起來他們對菜單很挑剔。我需要刪除打印和保存菜單項,因爲我的遊戲不使用它們。我想刪除文件,編輯和Windows菜單,因爲它們什麼都不做,我該怎麼做?我想保留默認的應用程序菜單,因爲它包含GLUT首選項的鏈接,Apple需要Cmd + Q快捷方式。 – Rasterman
你在說什麼菜單欄? –
MacOSX中的頂級菜單 - 文件,編輯,窗口 –
你想完全移除/隱藏菜單欄嗎?或者你想有選擇地刪除一些項目? – Yuji