• ベストアンサー

C++でGUIプログラムを作るには?

C++のプログラムの参考書にはコンソールプログラムの例しか ありませんが、C++/CLI(Windows Form)やMFCなどを使わずに APIとかで作るとしたらどうすれば出来るのでしょうか? ただのCであればWinMainとメッセージ処理のプロシージャを 用意してそこの中にプログラムをしてあげれば良いのですが…。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

表示用クラスを作る場合、自分で作るか、出来合いのMFCクラスを使うかの違いになります。 MFCクラスは、(ソースを追えばわかりますが、)WindowsAPIをラッピングしたクラスですので、 ある程度以上の知識がある人なら、自分で作っても、結局MFCと似たようなクラスになるはずです。 (MFCは、単なるC++のソースコードです。C++/CLIとは意味合いが違います。) MFCは多重継承のお手本のようなクラスですので、まず、基本的なドキュメントビュータイプのwindowsアプリをMFCクラスを継承して作成し、勉強してみてはいかがでしょうか? たとえば、画面の表示を担当するCViewクラスはCWndクラスからの継承クラスで、CWndクラスがメッセージ処理をラップしています。(このCWndクラスを継承することにより、様々な画面で自分でメッセージ処理を書く手間が省けます。) 参考までに: 以下のようなマイクロソフトの提供する簡単なサンプルプログラムを読むとMFCとC++が見えてきます。 http://msdn.microsoft.com/ja-jp/library/cstcs513(VS.80).aspx

その他の回答 (1)

回答No.1

> ただのCであればWinMainとメッセージ処理のプロシージャを > 用意してそこの中にプログラムをしてあげれば良いのですが…。 基本的に同じです。Windowsから呼び出されるのはWinMainです。 MFC等のライブラリを使用すると、ライブラリが用意したWinMainが使用されるだけです。 WinMainのエクスポート名が変更されないように、C呼び出し規約を使用するようにすれば、あとはC++の機能を使用して問題ありません。

関連するQ&A