
/*
    KAB-studio.h
        　ＫＡＢ−ｓｔｕｄｉｏで先週更新した内容
        が格納されたヘッダーファイルです（笑）。

    (C)KAB-studio ALL RIGHTS RESERVED.
        http://www2.justnet.ne.jp/~kabstudio/
        kab-studio@multimedia.design.co.jp

    送信日： 1999/05/31(Mon) No.009
    配信数： 2070（ Mag2 + Pubzine ）
*/




/*            １９９９年５月３１日（月）の更新                */

・プログラミング辞書に単語を追加：
　特にページの追加はないんですが、「プログラミング辞書」には２０単語
以上追加します。最近のこのページの盛況ぶりはすごい……。



/*                チョー普通な日記                */

１９９９年５月２３日（日）：
　テレビ見っぱなしの怠惰な生活。西武戦見たり武蔵丸優勝したり自害した
りがんばったり。

１９９９年５月２４日（月）：
　かなゆ〜への思いを語る。そして勉強というものについても語る。

１９９９年５月２５日（火）：
　今、時代は４コマ！！　４コマだったらなんとかなるかも？　そして辞書。

１９９９年５月２６日（水）：
　悪夢再びっ！！　Ｗｉｎ３．１アプリが課した試練とは何か！？　それに
対抗すべく再セットアップディスクを手に取った男の目に何が映ったのか！！
そんな男が「書く」と「描く」の違いについて語る。

１９９９年５月２７日（木）：
　著作権訴訟とか、フォトショップ４．０が安かったとか、スト３３ｒｄを
プレイするとか、パソコンショップ行くとか、うちがテレビに映るとか、い
つもと違う日常を満喫。

１９９９年５月２８日（金）：
　アニメ見っぱなしのいつも通りの日常を満喫。

１９９９年５月２９日（土）：
　ＣＣさくらの構えに見る格闘技の傾向と対策。と、物を売るにはどうすれ
ばいいのか、人の上に立つにはどうすればいいのかというダークなお話。


/*                    金菜さんの憂鬱                        */

１９９９年５月２３日（日）：
お休み

１９９９年５月２４日（月）：
お便りｘ２
ＭＦＣの CDocument 派生クラス
コンストラクタが protected なのにインスタンスはなぜ作れる？
サンプルコード
static メンバ関数を通して作成
これなら private も protected もアクセスできる
シングルトンパターンやクラスファクトリーとして有効な方法
でもマクロで実現するのはあまり良くない
テンプレートなら綺麗に実装可能
もうひとつお便り
スクロールバーを非表示にするには？
::ShowScrollBar() で行う
CFormView::OnSize() の中で呼び出す
WM_SIZE のハンドラとして作成する
spy++ で見たからだいたい読めた

１９９９年５月２５日（火）：
お便り
ＳＤＫだけで（ＭＦＣを使わずに）アプリを作る方法は？
憶えること多くて大変
ＣｏｄｉａｎのＭＦＣユーザーのためのＡＰＩプログラミング講座や
ＫＴＬとサンプルプログラムを参考にして
あと「猫でもわかるプログラミング」とか
あとはＳＤＫの英文ドキュメントを読むしか

１９９９年５月２６日（水）：
お休み

１９９９年５月２７日（木）：
お便り
消えたコントロールをツール バーに再配置する方法は？
ActiveX コントロールを追加できる
削除は *.dsw と *.dsp の中を書き換えればいい

１９９９年５月２８日（金）：
お休み

１９９９年５月２９日（土）：
お便り
掲示板での「初心者の甘え」はどうすればいい？
ひとつの知識に対して多くの事前知識が必要な場合がある
そういう場合サンプルはとても有用
でもその事前知識を理解する必要もある
ところが質問者はとりあえず使えるようになりたい
このジレンマをどうすべきか
掲示板の本当の利点
何が分からないか気付くことができる
みんなと話しながら考えたい
Ｃ＋＋では「理解」より「使いやすさ」「可読性」重視の傾向
金菜さんの憂鬱の場合
初心者向けの掲示板があるって大事だと思う


/*                    #pragma twice                        */


　Version 1.6
支えるファイル達

『じゃ、早速行ってみよー！』
「元気だねー。今日は "stdafx.cpp" について。とりあえず見てみようか」

// stdafx.cpp : 標準インクルードファイルを含むソース ファイル
//              FirstProject.pch : 生成されるプリコンパイル済ヘッダー
//              stdafx.obj : 生成されるプリコンパイル済タイプ情報

#include "stdafx.h"

『上３行に日本語、最後にわけ分かんないの』
「簡単にだけど、プログラミングのこと、見ていこうか」
『え”っ、いきなり？　ちょっと心の準備が……』
「大丈夫だって。上３行の一番左に "//" ってあるでしょ」
『うん、ある』
「これは＜コメントアウト＞って言って、ここから改行までは＜プログラミ
ングじゃないですよ、ただのコメントですよ＞っていう意味」
『え、ってことはこの３行って、プログラムじゃないの？』
「そういうこと。ただの解説」
『なーんだー。でも書いてあること全然分かんないけど……』
「で、重要なのは下の方。これは、プログラムの一部」
『う”、こっちも分かんない……でも右の "stdafx.h" ってファイルだよ
ね。フォルダの中にあるし』
「そうそう。左の "#include" っていうのは、＜このファイルの中のものを
利用しますよー＞っていう意味」
『利用するの？』
「前回さ、 "resource.h" を見た時に、中に＜ダイアログのＩＤ＞とかあっ
たでしょ。ああいうのを利用するときとかに、こういう風に "#include" を
使うんだよ」
『ってことは、いろんなところにいろんなものがあって、 "#include" を使
うと簡単に利用できるってことなんだー』
「そういうこと。たとえば "FirstProject.cpp" の中、ちょっと見てみよう
か」
『これもプログラムの入ったファイルだよねー』
　カーソルが動いて "FirstProject.cpp" ドロップする。先頭に、

// FirstProject.cpp : アプリケーション用クラスの定義を行います。
//

#include "stdafx.h"
#include "FirstProject.h"
#include "FirstProjectDlg.h"

　と書かれている。
『ここでも "#include" 使われてるね。そういえばこのファイルも
"stdafx.h" を指定してるね』
「じゃ、そのファイル見てみようか」
　"stdafx.h" をドロップする。
『う”、またもや分かんないのが……でも "#include" も……あれ？　さっ
きのは "" で囲んでたのに、今度は <> で囲んでるね』
「これが実はミソ」
『ミソ？』
「 <> で囲んでいる時には＜外のファイルを利用する＞ってことなんだよ」
『外って、つまりこのフォルダにないファイルってこと？』
「そういうこと。たとえば……」

#include <afxwin.h>         // MFC のコアおよび標準コンポーネント

「ってあるけど、この "afxwin.h" ってファイルは
"C:\Program Files\Microsoft Visual Studio\VC98\MFC\Include" っていう
フォルダに入っているんだよ。あ、どこにインストールしたかによって違う
から皆さん気を付けてね」
『って誰に言っとねんってゆーお約束のツッコミはおいといて、じゃ、この
フォルダ開いてみるね』
　マイコンピューターを開き、奥へと入っていき、そのフォルダを開く。大
量のファイルが表示され、その多くは "Afx" から始まり、 ".h" や ".rc"、
".inl" の拡張子を持っている。
『うわー、なーんかファイルいっぱいあるね』
「じゃ、さっきの "afxwin.h" を見てみようか」
　"Afxwin.h" がドロップされる。長いプログラムが表示され、日本語がか
けらも存在しない。
『う”〜、う”〜、全然分かんないよー』
「でも見慣れたのもあるでしょ」
『はいはい、そのパターンねー……うん、 "#include <afx.h>" とかは分か
るけどねー……って、また外のファイル使うの？　このファイルすごく大き
いのに』
「そういうこと。これ以上見ていくと切りないけどね」
『ええっ！？　ずーっとずーっと続いていくの？』
「い、いや、もちろん最後はあるんだけど、まだ先だし、とりあえず今日は
ここまでってこと」
『なーんだー、ちょっと心配しちゃった。でも……ものすごく多いね。これ
全部憶えるの大変そう』
「憶えられないって」
『憶えなくていいの？』
「もちろん。で、簡単にまとめ。今日のここまでの感想は？」
『そうねー、ものすごーくいろんなファイル、使うんだねー、っていうのが
率直な感想』
「そう！　それが分かればもう全然オッケー！」
『な、なに？』
「今回見たような "#include" での、他のファイルを利用してくのもそうだ
し、＜プロジェクトファイル＞や＜ワークスペースファイル＞とかみたいな
のもそうだけど、ものすごくいろんなファイルがあったでしょ」
『そうよねー、あとプログラムの入った "FirstProject.cpp" とかも私が
作ったものじゃないし、なんていうか、私が＜アプリ作ろー＞ってしたこと
に対して、ものすごく多くのいろんなファイルがサポートしてくれてる感じ
がするかなー』
「そういうこと。で！」
『で？』
「プログラムを組む、ってことは、こういういろーんなファイルのサポート
の元にあるってことを忘れちゃダメ」
『そうよねー、いろんなファイルに支えてもらってるんだ』
「で、これから当分の間、こういう＜支えてくれる存在＞をいかに利用する
か、を中心に解説していくから」
『使い方を勉強するってことよね。でも、理解とかしてかなきゃまずいんじゃ
ない？』
「もちろんね。でも使い方が最初。どんな言葉だって、文法はあとからつい
てくるものでしょ」
『そりゃそうよねー、文法がどうとか考えるよりも、相手にどう伝わるか、
自分の気持ちをどう表現するか、ってことが大事かなー』
「そういうこと。文例を紹介して、それをうまく使い回す方法とか、どう読
み下すかとか、プログラミングでのそういう部分を解説してくから」
『確かに、いきなり文法考えて文章考えたりしないよねー、 "Hello, my 
name is Kami." から始まって、これをこういう場面で使いましょう、ってい
うふうに勉強してくものね』
「そういうこと。プログラミングも同じだから」
『同じなの？』
「同じだよ。だいたい、今の解説書は文法ばかりで、それだけ分かればプロ
グラムが組めると思ってるんだから……」
『愚痴モード入ってるとこ悪いんだけど、今日はこれで終わり？』
「あ、うーん、えーと、じゃ、最後にこれだけ見ておこうか。 "Debug" フォ
ルダ見てみて」
『えっと、 "FirstProject" の "Debug" フォルダだよね』
　マウスカーソルが "Debug" フォルダをダブルクリックする。"Debug" フォ
ルダが開き、ファイル一覧が表示される。 "FirstProject.exe" 他、ほとん
どのファイルに "FirstProject" が付いている。
『あーっ、 "FirstProject.exe" って、これがもしかして作ったアプリ？』
「そうだよ」
『でもアイコンが変〜』
「アイコンはまた今度ね〜。じゃ、このフォルダのファイル、全部削除して」
『ええ〜？　せっかく作ったのに……』
「削除して、また作ってみるの」
『あ、そういうことね』
　フォルダ上をドラッグしてすべて選択し、＜削除の確認＞ダイアログが表
示される。
「え”、今何したの？」
『 "Shift + Delete" だよ』
「そんなキーアサインも知ってるんだ……」
『で、どうするの？　もう一度作るって言ったよね』
「そう。で、憶えてるかな、＜アプリを作る方法＞」
『えっと……確か、＜ビルド＞とか＜リビルド＞とかだよね』
「そうそう。今回は全部作り直しだから、＜リビルド＞の方がいいかな」
『じゃ、しちゃうねー』
　マウスカーソルが動き、メニューの【ビルド】−【リビルド】を選択する。
「じゃ、さっきのフォルダを見てみようか」
　タスクバーから "Debug" フォルダを選択し、手前に表示する。段階的に
ファイルが表示され、最後に "FirstProject.exe" が表示される。
『ふーん、こんな風にアプリケーションって作られるんだー。このほかのファ
イルは見なくていいの？』
「これはまた今度、って感じかな。ドロップしてもバイナリーエディタが開
くことになるし。でもこれも」
『支えてくれるファイル、ってことよね』
「そういうこと。これらのファイルが手助けして、 "FirstProject.exe" が
作られるってところかな」
『で、こういう支えてくれるファイルを元に、どういうふうに使っていくか、
ってことをこれから勉強するってことよねー』
「うん、もちろんこれからが大変なんだけど、ついてこれる？」
『無理でしょ』
「……」


/*
    Preview Next Story!
*/
「ふー、プロジェクト編長かったねー」
『じゃ、来週から早速プログラミング？』
「それは再来週から。来週は特別企画！」
『特別企画ぅ！？』
「というわけで次回」
＜ Version 1.7 ところで……ＶＣって？ ＞
『につづく！！』
「もっと基本的な質問が来てるから、それにお答えしようってね」
『確かにねー、いきなりＶＣ使ったけど、よく分かんないし』
「他の言語や環境についても解説します。プログラミングはそれから！」



/*            １９９９年６月７日（月）の更新予定                */

・表紙を６月バージョンに！！：
　毎月恒例、新しい表紙の登場です。今回はかなりいい感じに仕上がりまし
た！！　個人的には９０点くらいつけられるんじゃないかなーと。結構期待
できると思いますよ。ちなみに火美ちゃんの水着姿（爆）。



/*                        ご注意！！                        */
/*

　このメールマガジンをそのまま「返信」すると、作者のメールアドレス
（kab-studio@multimedia.design.co.jp）へと転送される仕組みになってい
ます。「まぐまぐ」もしくは「Ｐｕｂｚｉｎｅ」の管理者へメールを送りた
い場合には、直接そちらへメールを送ってください。

*/
/*

　このメールマガジンの購読登録を解除する場合には

http://www2.justnet.ne.jp/~kabstudio/Info/MailMagazine/

　が便利です。また、購読解除についての詳しい情報は、
登録時に送られてきた「まぐまぐ」もしくは「Ｐｕｂｚｉｎｅ」からの
メールをお読みください。

*/
/*

　本誌のバックナンバーはホームページ上にはありません。まぐまぐの

http://bigbeat.tegami.com/~mgsearch/frame.cgi?id=0000012198

　にありますのでそちらをどうぞ。

*/
/*

　このメールマガジンは、
まぐまぐ（ URL: http://www.mag2.com/  ID: 0000012198 ）
Pubzine（ URL: http://www.pubzine.com/  ID: 000590 ）
　を通して発行されました。

*/
/*
    KAB-studio.h
    Weekly Mail Magazine.
    Written by Kaburaya Seiden.

    (C)KAB-studio ALL RIGHTS RESERVED.
        http://www2.justnet.ne.jp/~kabstudio/
        kab-studio@multimedia.design.co.jp
*/


/*                    See you next week!!                    */


