「Windowsフォームアプリケーション」を作成すると、結果のプログラムは管理対象プログラムになります。「Win32アプリケーション」を作成するとネイティブアプリケーションになりますが、フォームを追加しようとすると、続行するとプロジェクトがCLIに変換されることが通知されます。Visual C ++ 2008 ExpressEditionを使用してネイティブWindowsGUIを設計するにはどうすればよいですか?私はおそらくここで非常に愚かですが、私はそれを理解することができません。
10 に答える
MFC、WTL、またはストレートWin32APIのいずれかを使用します。マネージコードに切り替えずにフォーム(または.NETのいずれか)を使用することはできません。
- MFCはMicrosoftFoundationClassesです-最も一般的なC++Windowsライブラリ
- WTLはWindowsテンプレートライブラリです-より優れたC++WindowsライブラリIMO
- Win32はCreateWindow、DialogBoxなどであり、その他はすべてWin32APIのラッパーです。
これは、リンクされた質問への回答です。残念ながら、それは重複していると考えているため、RobertHarveyによって閉じられました。そうではありません、ごめんなさいボブ。
xllを作成するための最適なライブラリはhttp://xll.codeplex.comです。これを使用して、Excelマクロを使用して基本的なユーザーインターフェイスを作成できます。その一例は、xll/error.cppのALERT.FILTERマクロにあります。
管理対象ライブラリを回避する必要があります。ほとんどの場合、これは、Windowsフォームの代わりにGUIにMFCを使用することを意味します。詳細については、MSDNのMFCページを参照してください。
残念ながら、VC ++ Express EditionはMFCを直接サポートしていないため、さらに制限があります。Express Editionを使用してMFCプロジェクトをコンパイルすることは可能ですが、すべてのウィザードなどが失われます。管理されていないGUI開発を真剣に行う場合は、より高いレベルのSKUへのアップグレードを検討する必要があります。
もう1つのオプションは、GUIにQtforを使用することです。現在はLGPLであるため、商用のC ++プロジェクトでも無料で使用でき、完全な設計者が含まれています。
Reed Copseyのように、MFCは、WindowsプラットフォームでネイティブのアンマネージドGUIを作成する「デフォルト」の方法です。ただし、MFCはVisualStudioExpressには含まれていません。したがって、フルバージョンにアップグレードするか、wxWidgetsなどの無料で入手できるC++GUIライブラリの使用を検討する必要があります。
GUIエディターが必要な場合は、 wxFormsBuilderもあります。
また、「ベアメタル」に移動して、Win32 APIに直接コーディングすることもできます。おそらく、共通のコントロールライブラリからいくつかの助けを借りることができます。しかし、あなたは痛みの世界に入るでしょう;)
ネイティブアプリケーションフレームワークを使用する必要があります。Windowsの場合、これはMFCまたはベアWin32ライブラリを意味します。WinFormsはバックグラウンドで.NETライブラリを使用するため、管理する必要があります。
ネイティブアプリケーションは「フォーム」を使用しません。ネイティブアプリケーションの場合、たとえば、MFCアプリケーションを作成できます。フォームベースのアプリケーションのようなものにしたい場合は、ダイアログベースのアプリケーションが必要であることをウィザードに伝えるか、(ウィザードの最後のページで)ビューをCViewではなくCFormViewから派生させることができます。
または、WTLを使用することもできます。これは、ウィザードなどを使用する代わりに、基本的にすべてのコードを手作業で作成することを意味します。
Windowsフォームは、Microsoftの.NET Frameworkの一部として含まれているグラフィカルアプリケーションプログラミングインターフェイス(API)に付けられた名前であり、既存のWindows APIをマネージコードでラップすることにより、ネイティブのMicrosoftWindowsインターフェイス要素へのアクセスを提供します。
上記の回答のほとんどは、物事を非常によく説明しています-純粋なWin32ネイティブアプリフォーム(MFC / WTLなどなし)の作成を検討したい場合は、次のチュートリアルを参照してください:http ://www.zetcode.com/tutorials/ winapi/初心者向け。ここでこのサイトにリンクするのは3回目ですが、彼のチュートリアルはとても良いです。
注-この段階では、結果以外に「視覚的」なものはありません-すべてコードで実行されますが、それほど難しいことではないと思います。それは間違いなく良いプログラミング経験になるでしょう。
Windowsフォームはマネージコードで記述されたGUIフレームワークであるため、ネイティブアプリケーションでフォームを使用することはできません。
ネイティブアプリケーションでは、ウィンドウを作成する必要があります。 Charles PetzoldによるプログラミングWindowsは、このための最も信頼のおけるハウツーブックです。優れたフレームワークを使用する場合と比較すると、多くの作業が必要です。MFC(Microsoft Foundation Classes)は、ネイティブWindowsGUIのフレームワークです。VC++Expressが付属しているかどうかはわかりません。
C++でクロスプラットフォームのユーザーインターフェイスを構築するために使用できるJUCEについては誰も言及していないことに気づきました。かっこいいと思いました。私が使ってから、モバイルデバイスもサポートするように拡張されたようです。
個人および教育ライセンスは無料です。「Pro」および「Indie」ライセンスは比較的安価です。