• ベストアンサー

MFCでプログラミングしたことがなく、皆目わからず、途方に暮れております。

開発言語はVC++2005です。 Cは構文程度は理解しています。 新規作成 - プロジェクト - MFCアプリケーションという具合にすると、フレームワークを作ってくれますので、実行すると何もしないアプリができます。 MFCでプログラミングしたことがなく、どこにどうコードを埋め込んで行けば動作するのか皆目わからず、途方に暮れております。 手始めに、以下の3つをやってみたいのですが、MFCの肝はなんでしょうか? 1. ボタンを押して、「Hellow World」メッセージボックスを表示させたい。 2.マウスで、ある領域をクリックすると、小さい円を描画する。 3. テキスト入力域に 「Yes We Can!」を入力しエンターすると、オバマ大統領のBMP画像を中央に表示させたい。 3はギャグですが、よくよくソケットを使って簡単なメールアプリを作りたいと思っています。 道筋を指南してくださる方、よろしくお願いいたします。

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

  • ベストアンサー
  • MrBan
  • ベストアンサー率53% (331/615)
回答No.1

> MFCの肝はなんでしょうか? 「イベントドリブンなGUI」という考え方と、 「Win32(MFCの中で使われるWindowsのAPI)」および「C++」の使い方でしょうか。 標準Cとは作法が違いますし、構文レベルではない応用、考え方・使い方の問題なので、 そこが分からないと途方にくれても仕方ないです。 > 1. ボタンを押して、「Hellow World」メッセージボックスを表示させたい。 リソースエディタでボタンを作り、ボタンのハンドラを登録する。 後は表示の仕方次第ですが、お手軽なのはMessageBoxの利用? 画面描画するなら、状態フラグなどを立ててOnDrawで描画。 > 2.マウスで、ある領域をクリックすると、小さい円を描画する。 WM_LBUTTONUPあたりのハンドラを作ってそこで描画位置を決める。 (※Windowsのお約束では、マウスは押した位置より離した位置で反応します) 後は、OnDrawで描画。 > 3. テキスト入力域に 「Yes We Can!」を入力しエンターすると、オバマ大統領のBMP画像を中央に表示させたい。 テキスト入力域(Editのこと?)をリソースエディタで追加して… 入力ボタン等がないとするならばPreTranslateMessageあたりでENTERをハンドリングして、描画状態フラグを変更する感じでしょうか。 後はコントロールのイメージを差し替えるなり、CImageあたりをOnDrawでBitBltするなり…。

その他の回答 (3)

  • sho1get
  • ベストアンサー率57% (20/35)
回答No.4

もし、ネットワークアプリを作成されるのであれば、この本がいいと思います。 「WinSock2プログラミング 改訂第2版」 http://winsock2.org/ C言語やC++によるプログラミング方法をサンプルなどを記載して詳しく解説されています。 中にはMFCを使用したアプリケーションのコードもあるので、一度目を通してみると良いでしょう。

  • BLK314
  • ベストアンサー率55% (84/152)
回答No.3

MFC用のチュートリアルがあります http://msdn.microsoft.com/ja-jp/library/f35t8fts.aspx まずは、ここからでしょう マウスでの"お絵かき"プログラムです。 これで基本的なことを学べると思います。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

MFCはWindowsAPIをC++言語のクラスでラッピングしたライブラリです。WindowsAPI自体はC言語の文法で操れるんですが、MFCはC++言語を理解していないとまともに使いこなせません。 方法としては、 (1)MFCを止めてWindowsAPIを直接使う。 http://www.geocities.jp/ky_webid/win32c/index.html http://wisdom.sakura.ne.jp/system/winapi/index.html [Windows SDK編] http://www.kumei.ne.jp/c_lang/ 弱点は、ウィンドウのデザインが楽に出来ない。 (2)C++言語を覚える。 C++言語を覚えた上で、MFCに再チャレンジするのがお勧めです。 MFC入門サイトは知らないので、全部テクニックサイトですが。 http://athomejp.com/goldfish/mfc/ http://www.crimson-systems.com/tips/index.html http://www.g-ishihara.com/ http://www.alpha-net.ne.jp/users2/uk413/vc/index.html ちなみに、VC++6等で書かれていて古いので最新環境ではメニューの操作方法が違います。 MFCの入門書は別購入してください。 http://www.amazon.co.jp/%E3%81%B2%E3%81%A8%E7%9B%AE%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8BMicrosoft-Visual-C-2005%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%8B%E7%99%BA%E5%85%A5%E9%96%80-%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%BD%E3%83%95%E3%83%88%E5%85%AC%E5%BC%8F%E8%A7%A3%E8%AA%AC%E6%9B%B8/dp/4891005084 弱点は、C++を覚えないといけない。

関連するQ&A

専門家に質問してみよう