2011-01-09 15 views
3

VS 2010にGUIを使用した(うまくいけばネイティブな)C++アプリケーションを書くための有効な方法は何ですか?VisualStudioのWindows GUIアプリケーション

私は約10年前、私はMFCを使用していたことを覚えています。

+0

関連:http://stackoverflow.com/questions/4577365/how-does-one-gets-started-with-winforms-style-applications-on-win32 –

答えて

5

ネイティブAPIを使用する場合は、MFCは依然として優れた選択肢またはプレーンなWin32 APIです。
VS2010で導入されたリボンコントロールのような新しいコントロールがあります。 tutorial on native development with VS2010 on MSDNがあります。 VS2010を使用している場合は、ネイティブプログラムで使用可能なC++ 0x機能も多数あります。

クロスプラットフォームには向いていませんが、その場合はVS 2010を使用しないでください。ライセンスは現在、LGPLの商用利用のために無料です。

MicrosoftのWPFのような新しいフレームワークを使用する場合は、管理対象言語(.NET)を使用する必要があります。別の選択肢は、Webとアプリケーションの両方にSilverlightです。 Silverlightのアプリケーションには、Silverlightがインストールされている場合でもMac上で動作させることができるという利点があります。 WinFormsはまだコード化が簡単ですが、主にWPFに取って代わられています。

MFCの代わりにWPFのようなフレームワークを使用すると、そうするのが適切な理由がない限り、はるかに高速に開発できます。あなたが管理された言語を知らなくても。 (もしあなたがC++/CLIの代わりにC#にまっすぐに行かないなら)。 WPFはGPUアクセラレーションも提供します。

+0

ええと、WPFは管理対象アプリケーションを意味しますか?それは.NETなしで動作しますか? – BarsMonster

+0

これは.NETでのみ動作します –

1

WindowsフォームまたはWindows Presentation Foundation(WPF)を使用できます.VS2010では、これらのいずれかを使用してGUIを使用してアプリケーションを作成できます。どの点でベストであろうと思いますか?具体的なニーズに依存していると思いますが、WinFormsを実際に使用しただけでは言えません。しかし、WPFアプリケーションには、より多くのコンポーネントが必要です。

+0

Windowsフォームが段階的に廃止されました。 MFC/WPFは行く方法です。 –

+0

@Peon:Windows Formsが「フェーズアウト」しているとは言いませんが、MFCをお勧めします。違いは何ですか?いずれのライブラリも技術的な面で最新のものではありませんが、どちらもソフトウェアの大部分で積極的に使用されています。いつでもすぐにどこにも行きません。 –

1

完全性のために - wxWidgetsは、クロスプラットフォームのGUIツールセットです。

1

本当にネイティブが必要で、本当にC++が必要な場合は、WXが最適です。 MFCには素晴らしいコントロールがありますが、完全なUIライブラリのようなものはありません。レイアウトマネージャーがなく、まだWin32 C APIの基本的なラッパーであることに悩まされています。 WXには後者の問題もいくつかありますが、MFCからかなり整理され、レイアウトマネージャがあります。

カップルその他のオプション:

あなたはC++から抜け出すと、他の、よりよいネイティブライブラリを使用するための.NET言語のいずれかで行くことができます。

QtやGTKmmなどのネイティブツールキットのルックアンドフィールを引き続き使用できるクロスプラットフォームのライブラリを使用できます。

関連する問題