• ベストアンサー

MFCなのかWin32APIなのか

みなさんはじめまして。グフです。 これからWindows上でC/C++(VisualStudio.NET2003) にて、Windowsアプリケーション開発の勉強を始め ようとしています。 いろんなサイトや書籍を見ている中で、Windowsアプリ の開発方法としてMFCをつかうやり方と、Win32APIで 開発する方法の2つがあることがわかりました。 これからWindowsの勉強を行うにはどちらの方法で開発 するのが望ましいのでしょうか? ケース by ケースだとは思いますが、何かアドバイス いただければと思いまして、投稿させていただきました。 やはり基礎からおさえるのであれば、Win32APIの方が よろしいのでしょうか? 今後のWinFX環境を考えると、Win32APIでの知識が無駄 になってしまうということはないのでしょうか?

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

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.5

>ゲームはやはりWin32APIとDirectXで作られているパターンが多いのでしょうか? はい。例えばDirectX9にくるC++のサンプルは9割がSDKで作られています。 MFCで作る場合のサンプルもありますが、ゲームを作る場合 MFCの恩恵はほとんどないので、SDKがメインです。 >業務アプリケーションへの適用も考えています。 MFCと同じ機能をSDKからつくろうとするとむちゃくちゃ大変です。 (例えば印刷プレビューとか) 業務アプリの場合イレギュラーなことをしない限りMFCで作ることが多いかもしれません。 ただやはりSDKを理解したうえでMFCを使うべきだと思います。 SDKの解説サイトで一番有名なサイトです。 「猫でもわかるプログラミング」 http://www.kumei.ne.jp/c_lang/ 書籍なら 山本信雄著 VisualC++(1)はじめてのWindowsプログラミング がお勧め。 http://esbooks.yahoo.co.jp/books/detail?accd=30630203

参考URL:
http://www.kumei.ne.jp/c_lang/,http://esbooks.yahoo.co.jp/books/detail?accd=30630203

その他の回答 (4)

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.4

WinFX考えるなら、MFCもアウトでは? 限定的なMFCよりWin32APIをすすめます。

noname#77208
質問者

お礼

そうですね。WinFXであればMFCもダメっすね。 Win32APIから抑えていくことにします。

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.3

#1の方とまったく同意見です。 >Win32APIでの知識が無駄になってしまうということはないのでしょうか? それはありません。 MFCからはじめても、応用がきかなくなると思いますし結局はWin32APIを 学習するはめになります。 MFCはSDK(Win32API)をクラスにしてをラッピングしているものです。 ですからMFCを理解するためにはC++とWin32API、両方の理解が必要です。 あと何を作りたいかによっても重点が違います。 MFCを使って作っているゲームなんてあまりみかけません。 あと有名なソフトはSDK(Win32API)から作っていることが多いです。 MFCはちょっとしたソフトを作るのは楽ですが、大規模なソフトになると その仕様が足かせになります。いきづまったときMFCのソースをみることになり 結局、SDK(Win32API)を使った自作のクラスに置き換えるなんてこともありえます。

noname#77208
質問者

お礼

やはりWin32APIはきっちり抑えておかないとダメそうですね。 急がばまわれで、基礎からきちんと勉強していくことにします。 作りたいものとしては、まずは個人用のツール、知識がついてきたところで、 業務アプリケーションへの適用も考えています。あと個人的にはゲームも作ってみたいですね。 ゲームはやはりWin32APIとDirectXで作られているパターンが多いのでしょうか?

noname#77208
質問者

補足

Win32APIに関して参考になる書籍、またはWEBサイトがあれば教えて頂けないでしょうか。

  • honiyon
  • ベストアンサー率37% (331/872)
回答No.2

こんにちは、honiyonです。  個人差はあるかと思いますが、私の場合ですと、  Win32、MFCは当初挫折しました(笑)  現在も完全とはいえませんが、100%Win32APIのみの開発は可能です。MFCも必要な所は勉強して使えるようにはなっています。  私はVBから入門し、より効率を求めてDelphiを覚え、その上でWin32を学び、面倒だと不満を感じる所はMFCで補うというやり方で覚えていきました。  尚、上記でDelphiとありますが、これは元々趣味でTurboPascalを使った開発をしていたので、ここでDelphiが出てきたのだと思います。   以上、参考になれば幸いです(.. KTBBS懐かしいな(笑)

noname#77208
質問者

お礼

Win32APIをメインとして開発し、MFCで面倒なところを補うということですか。 やはりベースとしてWin32APIをきっちりとおさえておくほうがよさそうですね。 ちなみに私はプログラミングはCから入門しFORTRAN, VB,COBOL,Java,C#,C++と変遷してきました。 ここにきてWindowsでしっかりプログラミングしようと 思うとC/C++でWin32APIの知識が必要なのかなと感じてきているしだいです。

noname#77208
質問者

補足

Win32APIに関して参考になる書籍、またはWEBサイトがあれば教えて頂けないでしょうか。

回答No.1

MFCの方が楽ですが、Win32-APIを何も知らずに使えるものではありませんし、MFCではできないことをWin32-APIで補わなければならないことも少なからずあります。ともかくもWin32-APIのキモは押さえておかないと。

noname#77208
質問者

お礼

やはり基本はWin32APIですね。基礎からしっかり積み上げて いくことにします。

noname#77208
質問者

補足

Win32APIに関して参考になる書籍、またはWEBサイトがあれば教えて頂けないでしょうか。