私はいつも、C++から最初から簡単なウィンドウを作成したいと思っていました。しかし、私がインターネット上で見つけた唯一の結果は、win32 apiまたはdirectXまたはOpenGLを使用していることです。私はそれらのAPIのどれもなしでそれを作りたいです。また、win32はappleやlinux、uinxなどの他のオペレーティングシステムと互換性がありますか?私は、ウィンドウを作成するプレーンC++以外のAPIを使用しないすべてのオペレーティングシステムと互換性のある1つのプログラムを作成したいからです。C++ win32 apiなしで簡単なウィンドウを作る方法は?
答えて
私はあなたがこれらのAPIの目的を誤解していると思います。単に "Plain C++"でウィンドウを作ることはできません。最終的には、この作業にはオペレーティングシステム(Windows)またはオペレーティングシステムの上にあるウィンドウマネージャとの調整が必要です。 OSとの調整が可能な唯一の方法は、提供するAPIを使用することです(Windowsでは、Win32はこれを正確に行います)。
多くのプラットフォームでウィンドウを表示できるポータブルコードを目指している場合は、Qtフレームワーク、wxWidgets、またはその他のクロスプラットフォームGUIライブラリのようなライブラリを使用できます。これらのライブラリは、あなたの代わりにOSおよび/またはウィンドウマネージャと通信します。彼らはウィンドウを作成して表示するために異なるWindows/Mac/Linux APIをすべてまとめ、という1つのというAPIをすべてのプラットフォームで動作する一貫した比較的使いやすいAPIにします。その下に、アプリケーションがコンパイルされたプラットフォーム用のAPIが使用されます。
私はまた、OpenGLを使用することができますか?ちょうど私が最初に尋ねたものとは少し違うかもしれないが、OpenGLはクロスプラットフォームなのだろうかと思っているだけですか? – NathanProgrammer
Windowsでは、ウィンドウを作成する場合、Win32 APIを回避することはできません。使用するすべてのものは、最終的にWin32 API呼び出しを使用してウィンドウを作成します。
これはいいグラフィックスライブラリやGUIライブラリを使って、あなたが望むウィンドウを作成するというものです。個人的にはAllegro 5(http://liballeg.org)をお勧めしますが、SDL、SFML、ClanLib、Qt、WxWidgetsなどのライブラリを使用してウィンドウを作成することもできます。
#include "allegro5/allegro.h"
int main(int argc , char** argv) {
if (!al_init()) {return -1;}
ALLEGRO_DISPLAY* display = al_create_display(800,600);
if (!display) {return -2;}
al_clear_to_color(al_map_rgb(255,255,255));
al_flip_display();
al_rest(5.0);
return 0;
}
- 1. C++でスレッドプールを作成する最も簡単な方法は?
- 2. C++ブーストで簡単なsha256発電機を作る方法?
- 3. C++のdll(ウィンドウ)からプログレスバーのダイアログをポップアップする最も簡単な方法
- 4. Macで簡単なOpenGLウィンドウを作成するには?
- 5. 簡単な方法は
- 6. FCKEditor - 簡単なプラグインを作る方法?
- 7. API作成の簡単な方法はありますか?
- 8. 簡単な方法
- 9. htmlコードなしでcakephpに簡単なボタンを作る方法
- 10. 簡単な3Dアイオスアプリを作成する最も簡単な方法
- 11. xcodeを使って簡単なOpenGL C++プログラムを作る方法
- 12. 簡単なログインページの作成方法は?
- 13. 簡単な方法
- 14. Cでバックグラウンドでウィンドウなしでwin32アプリケーションを作成するには?
- 15. 簡単なC#API呼び出しの作成
- 16. C#を使用して簡単なワンタイムアクティベーションプロセスを作成する方法は?
- 17. (簡単な方法)
- 18. 簡単な方法
- 19. 簡単な方法
- 20. 簡単な方法
- 21. 簡単な方法
- 22. 簡単な方法
- 23. 簡単な方法は、
- 24. 簡単な方法は、
- 25. Win32 APIではなくC++で独自のGUIを開発する方法は?
- 26. C#での簡単なデータベースプログラムの作成
- 27. MVC3 C#でページングする最も簡単な方法は?
- 28. 簡単なヒープをstlで維持する簡単な方法は?
- 29. Magentoで簡単な管理モジュールグリッドを作成する方法は?
- 30. 簡単なフラットスタイルでJButtonを作成する方法は?
などのQtなどクロスプラットフォームフレームワークを使用します:アレグロ5では
、ウィンドウを作成し、表示するには、同じくらい簡単ですか! – UnholySheep
Qtのようなクロスコンパイル可能なUIシステムを試すことができます。 _ "C++以外では_ _plain C++ _を要求していると仮定していますが、まだUIの言語標準はありません。 –
@πάνταῥεῖ:おそらく航空用のC++の方言があります。 ; v) –