■このサイトの目的


 このサイトはMFCに関する技術の向上のために、一役買えればいいと思い立ち上げました。MFC等のサイトはかなり存在します。僕のそのサイトもそのひとつに過ぎませんが、これまで僕が培った技術や頭を悩ませてやっと理解できた項目をなるべく掲載しようと思っています。なかには間違ったことを言ってるかもしれませんが、それがあればドシドシご指摘ください。
 またMFCの技術交流を深めるため、「Q&A」や「TIPS」などのコーナーを用意しています。ご自由にご参加してください。


■僕がMFCを始めた理由


 MFCを始めたのは、とあるゲーム会社に入ってからでした。始めはゲームプログラミングができると喜んでいたのですが、ツール作成のためにMFCをやらされました。そのときはまだCしか知らなくて、MFCはもちろんC++さえろくに知らなかった頃なので、はっきり言って苦痛でした。僕は理解するのがすごい苦手なので、なるべく技術を覚えるように心がけました。覚えていくと、ああここはあのパターンが使えるな、というのがだんだんできていき、MFCのプログラミングに楽しさを覚えていくようになりました。このような手順はあまりよくないのかもしれませんが、とあるプログラミング参考書に「門前の小僧習わぬ経を読む」という話がありました。簡単に言うとお坊さんは小坊主の頃はがむしゃらにお経を覚えていくのですが、はじめは覚えたお経が何の意味を成すのかわからないが、成長していくうちにその意味が解釈できるという話です。プログラミングの勉強法もこれでいいとありました。僕もその通りだと思います。その方が理解できたときの瞬間がすごく印象に残り、後にも大変役立つと思います。これはMFCを勉強するに限りませんが。

■MFCとは何か?


 MFCを既にご存知の方はここを読み飛ばしてください。
 MFCとはMicrosoft Foudation Classの略です。略に有るようにMicrosoft(R)(←なんかMicrosoft関係のものっていつもこの(R)がついてますね。ちょっとうざい。念のためつけておきます)が、Windowsアプリケーションを作成するためにパッケージ化されたクラスライブラリのことです。Windowsのアプリケーションを作成するために便利なこのクラス群を使用すれば、セコセコプログラムコードを作成しなくてもいいのです。ですから1から作成するよりも当然、格段に時間的コストが少なくてすむのです。
 ライブラリは非常に多くのものが存在します。でもこれらをすべて覚えなくてもアプリケーションは容易に作成できます。また知らないクラスを使用することになっても、Visual C++にはこれらに関するヘルプが膨大に用意されています。僕も仕事でこのヘルプには大変お世話になりました。ビギナーに関わらず、一線で活躍している人にとってもこのアイテムは必須でしょう。
 MFCは「クラス」とか「オブジェクト指向」とかという概念が重要となってきますので、当然C++の知識は必要です。ですがCしか知らない人にとってもC++を知る必要はありません。僕はUI(User Interface)の処理部はC++のコードが多いですが、中身の処理自体はCでやっています。MFCをやっていくうちにC++の概念や文法なども覚えていけるようになると思うので、これから始めたい人にとってもCさえ知ってれば大丈夫だと思います。
 MFCは大部分がUIの処理を便利にするためのクラスライブラリだと思います。リストコントロールやコンボボックス、あるいはMDIのような複数のウィンドウ処理など、これがあれば簡単に実装でき、自分の思うようなアプリケーションが作成できると思います。ただMFCをマスターしても、使用者に対してどう使いやすくするか?という課題が僕も含め作成者にとって難題となっていくことになるでしょう。


TOPに戻る