我正在使用OpenGL和C++來解析文件中的某些結構化輸入並以圖形方式顯示它。我想在加載應用程序時啓動一個打開文件對話框,以允許用戶選擇他們想要顯示的文件。我一直無法在網上找到我需要的東西。有沒有辦法在C++中實現這一點?如果是這樣,怎麼樣?先謝謝你。如何在OS X中使用C++打開「打開文件」對話框?
回答
你有兩個選擇,一個快速,和一個好的:
快速和非常簡單,使用來自碳和
NavCreateGetFileDialog()
的Navigation Services框架。你會很快完成,你將不得不學習幾乎沒有新東西,但你的代碼不會運行在64位(蘋果推動每個人都朝着它),你必須鏈接碳框架。導航服務是64位的officially removed,並且通常會向前推薦(儘管我預計它會在32位內徘徊很長一段時間)。在你第一次做它(因爲你需要學習一些Objective-C)的時候多一點工作,但是更強大和完全的支持,把NSOpenPanel包裝在一個Objective-C++類中,並且將它公開給你的C++ 。這是我的Wrapping C++模式,只是向後。如果你這樣做,遇到麻煩,請放下一張便條,我會盡量加快發佈博客條目。
要添加到什麼羅布寫道:
不幸的是,有沒有簡單的等效到Windows的GetOpenFileName
。
如果使用碳:我真的不認爲
NavCreatGetFileDialog
易於使用...您可以使用this code在CarbonDev來看看如何使用它。該代碼返回CFURLRef
。要獲得POSIX路徑,請使用CFURLGetFileSystemReprestnation。這就是說,我建議你使用可可。 Rob會寫一篇博客文章如何使用來自GLUT的
NSOpenPanel
:)
hahahaha ....實際上,蘋果公司爲GLUT提供了一些很好的示例代碼。這個問題最有用的是GLUTWindow,因爲它可以讓你處理運行工作表所需的對象。蘋果公司在使用GLUT方面也至少有一項Technote技術;它值得搜索他們的網站更多的東西。 http://developer.apple.com/mac/library/samplecode/glut – 2010-06-20 15:32:51
- 1. 如何使用打開文件對話框打開文件
- 2. 打開文件對話框
- 3. 打開文件對話框
- 4. 打開文件對話框
- 5. C#打開文件對話框
- 6. 如何使用JavaScript打印對話框打開文件
- 7. 如何使用C++添加打開文件選擇對話框?
- 8. Phonegap/Cordova如何打開本機文件打開android對話框?
- 9. Ext JS4如何從菜單打開文件打開對話框
- 10. 打開文件對話框不開放
- 11. 打開文件對話框並打開不同的文件
- 12. 從Mac OS X上的Netscape插件打開/保存對話框?
- 13. ASP.NET中的「打開文件」對話框
- 14. JavaScript中的打開文件對話框
- 15. 使用打開文件對話框通過插件打開文件
- 16. 如何使用打開文件對話框,選擇文件夾
- 17. 打開對話框
- 18. 用jquery打開html文件對話框
- 19. 用javascript打開文件對話框
- 20. 如何在iphone中打開對話框?
- 21. 如何在asp.net中打開對話框?
- 22. 使用WPF打開Word文檔而不打開對話框
- 23. 即使對話框打開
- 24. 防止在OS X啓動時出現iCloud打開文件對話框
- 25. 使用iText打開PDF時自動打開打印對話框
- 26. 打開/保存文件對話框
- 27. 用jquery打開對話框
- 28. 打開文件對話框Windows API
- 29. 打開文件選擇對話框
- 30. 通過打開文件對話框
您使用哪種框架來顯示OpenGL窗口?答案將取決於此。你在使用GLUT嗎?或者是什麼? – Yuji 2010-06-20 00:47:12
感謝您的回覆。我的確在使用GLUT,但我有點擔心這很重要。在Windows下,有一個用於處理文件瀏覽的Windows API調用。在代碼中,它只是一個函數,它返回用戶選擇的文件的路徑(但對話框由OS處理)。我希望能爲OS X找到類似的東西。 – Lyudmil 2010-06-20 02:11:07