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

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

    送信日： 1999/12/06(Mon) No.035
    配信数： 3260（ Mag2 + Pubzine ）
＊    発行元： まぐまぐ( URL: http://www.mag2.com/  ID: 0000012198 )
＊    発行元： Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/


/*                        今週の「どう？」                        */

『じゃ、次のお便り』
「今週もなかったり」
『あらら』
「そういえば、まぐまぐ経由だと今回から広告が入ってるはず」
『そういや商業主義に走るとかって話はどうなったのかな』
「当分無理なんじゃない？　がんばったってそんなにお金になるわけじゃな
いし」
『えっと、クリック広告は無視するとすると』
「計算するし……」
『０．５円が３０００配信で４週、６０００円だって。これがあたし達の値
段！？　あんだけがんばって！！』
「まーまー、人生こんなもんだよ」
『う”−。私たちは KAB-studio.h や #pragma twice についてのご意見ご
希望ご感想を切望しています！！』
http://www2.justnet.ne.jp/~kabstudio/Info/MailMagazine/Impression/
「のページで送ってください」
『お待ちしてまーす！』


/*              １９９９年１２月６日（月）の更新                  */
http://www2.justnet.ne.jp/~kabstudio/Info/News/

・表紙を１２月バージョンに！
　毎月恒例、新しい表紙です！　うーむ、いいはずなのに、なんか不満
だ（汗）。目が肥えてきたのかもなぁ。皆さんの意見求む。解説はチョー普
通な日記１１月２１日を読んでね。

表紙：
http://www2.justnet.ne.jp/~kabstudio/
チョー普通な日記
http://www2.justnet.ne.jp/~kabstudio/nikki2/


/*                        チョー普通な日記                        */
http://www2.justnet.ne.jp/~kabstudio/nikki2/

１９９９年１１月２８日（日）：
　引き続き実験レポートの日々。考えてみたらプログラミングしてるんだか
ら、かぶゆ〜始めてもいーのかもしんない。

１９９９年１１月２９日（月）：
　ＯＵＴＴＲＩＧＧＥＲ面白すぎ！！　とにかくこれにはまっちゃいました
よ。４人対戦むっちゃ面白いです。ゲーセン行ったらやってみよう！　あと
毎月恒例ベクターさんのダウンロード数とか。

１９９９年１１月３０日（火）：
　引き続きあうとりの話題。面白いのです。しかしそんため他がおろそ〜。

１９９９年１２月１日（水）：
　貯まってたアニメの話とか、かぶスタ改造計画とか。日記を読むと裏話が
分かるのです。それがいいことかどうかは別として。

１９９９年１２月２日（木）：
　ＣＭ撮影の現場に直撃！！　あとあうとり。

１９９９年１２月３日（金）：
　実験はやっぱ大変そう。テストもあるし、まーだちょっと「更新ナシ」が
続きそうなのです。むむむ。

１９９９年１２月４日（土）：
　これからの予定とかそこはかとなく語ってます。どーも土曜はのんびりだ
なぁ。


/*                       #pragma twice                            */

　Version 3.10
数字をやりとりしよう！


『計算機完成するってホント！？』
「いきなりだなー、ホントだって」
『料理番組みたいにいきなり〈はいこちらに完成品がありますので〉なんて
いうのはナシよ』
「なんで料理番組……ま、意外と簡単にできちゃうから大丈夫」
『じゃーなんで今まで完成しなかったの？』
「う”……じゃあさっそくとりかかりましょう」
『ぶーぶー』
「はい、ほら。まずダイアログエディタを開いて」
『は〜い。ワークスペース開いて、【ResourceView】選んで、……どっちの
ダイアログ？』
「【IDD_CALC_DIALOG】の方。もひとつの【IDD_ABOUTBOX】は〈バージョン
情報〉用のだからね」
『そう言えばそうね。で、ダブルクリック……はい、ダイアログが出たよ。
いつも使ってる【＝】ボタンのあるのだね』
「このダイアログを計算機っぽくします」
『計算機っぽく！　ってことは、１とか２とか＋とかＸとか』
「ってすごいのは作れないから、ただの足し算だけ」
『え〜？』
「無茶言わないの！　んじゃまずは、エディットボックスを貼り付けようか」
『エディットボックス？』
「ここにツールバーがあるでしょ」
　マウスカーソルがぐるぐる回る。その下にあるツールバーには、矢印カー
ソルやサボテンの絵、【Aa】や【ab】、【ｘ】などが描かれたボタンが並ん
でいる。
「これを〈コモンコントロール〉っていいます」
『こもんって』
「ボケ不可。 common は英語で〈共用の〉って意味。コントロールはボタン
とかの〈操作するもの〉。これは〈コントローラー〉の方が分かりやすいか
もね」
『？？』
「あ、えーとねー、ダイアログに貼り付いているボタンとかのことを、コン
トロールって言います」
『あ、それが、ダイアログを操作するコントローラー、ってことね』
「そうそう。で、ウィンドウズに初めから備わっているコントロールのこと
を〈コモンコントロール〉って言うわけ」
『共用のコントローラー……そう言えばアイコンとかウィンドウとかって
ウィンドウズのものって言ってたけど、それと関係あんの？』
「あるわけだね。こういったコントロールも、ウィンドウズに〈使わせても
らう〉って考え方かな」
『……もひとつ質問！　コモンじゃないコントロールってあんの？』
「あるよ。たとえば〈文化オリエント〉って会社じゃいろんなコントロール
を売ってるから、必要ならそういうのを使えるけど、もちろん〈コモン〉
じゃないから」
『買わなきゃ使えない、ってことね。広告見ると、結構高いね……』
「ま、そんだけ〈コントロールを作るのは大変〉ってことかな。ウィンドウ
ズにそういうのが初めから揃ってるっていうことが、結構プログラマーにと
っては大きいかも」
『普通揃ってるんじゃないの？』
「他のＯＳだとそうも言えなくてねー。まぁそれはともかく〈エディット
ボックス〉はそのコモンコントロールのひとつで、文字を入力するためのコ
ントロール」
『そーゆーのってよく見るよね』
「そのよく見るのなの。コモンコントロールのあるツールバーの中に【ab】
っていうのがあるでしょ」
『これ？　あ、カーソル持ってったら下に〈エディットボックス〉って出た』
「これをダイアログエディタのダイアログにドラッグ＆ドロップして」
『ドロップっと。あ、白い四角ができた！　ホント、よく見るのだね』
「つまり他のアプリのも、これと同じものを使ってるってわけ」
『それが〈コモン〉ってことねー。で？』
「このエディットボックスの上で右クリックメニュー出して【プロパティ】
選んで」
『プロパティっと。ダイアログ出たよ』
「この【一般】のページの【ＩＤ】に IDC_E_ANS って書き込んで」
『なに、このあいでぃーって』
「まえーに、一度話したけどね。Ver 1.5（ No.008 ）を読み返してみて」
『ホントだ、前にダイアログのＩＤって見たんだね。つまりこのエディット
コントロールの名前ってこと？』
「そういうこと。 IDC_E_ANS の ID は ＩＤナンバー、C は コントロール、
E は エディットボックス、 ANS は、このエディットボックスを〈答〉用に
したいから」
『ふーん、そういう規則なんだ』
「別にテキトーでいいんだけどね」
『え、そーなの？』
「そーなの。僕がいつも使ってる命名方法がこうってだけだけどね。ただ、
ぱっと見で分かる方がいいでしょ？」
『それって、int 型変数の前に i を付ける、とかと同じこと？』
「そういうこと！　分かってきたねー」
『まー、もう４分の３年勉強してきてるわけだしー』
「年数で言うと〈そんだけやっててまだこんだけ？〉とか言われるかも」
『まぁ、のんびりだもんねー』
「そーそー。でＩＤ書き換えたらダイアログ閉じてビルドして実行！」
『閉じてビルドして実行！　さっきのエディットボックス、ちゃんと貼り付
いてるね。ちゃんと文字とかも書き込めるし』
「うんうん」
『……で、どうするの？　これだけじゃどーしよーもないじゃない』
「そう、そこからが問題。エディットボックスはあくまで〈ウィンドウズの
もの〉だから、プログラムから文字列とか数字を書いたり読んだりするため
には」
『ＡＰＩとかハンドルを使わなきゃダメってこと？』
「基本的にはね。でもこれが面倒なんだわ」
『じゃ、それが簡単にできるラッパークラスがＭＦＣにあるんだ！』
「まぁ、一応」
『なにそのキレの悪い答は』
「確かにＭＦＣは〈簡単にコントロールとやりとりする〉方法を持ってるん
だけど、内部システムがちょっと複雑なんだよね」
『ラッパークラスみたいな感じじゃないってこと？』
「そういうこと。だからここは、仕組みは置いといて、とりあえずその〈簡
単なのの使い方〉を解説します」
『今までだって結局そーだったじゃん』
「う、確かにそうかも。でもさ、使い方の解説だけだと〈他の本と同じ〉と
か言われそうだし」
『他の本に書いてあることがタダで読めるってだけでいーんじゃないの？』
「ぅ”……」
『あら、いじけちゃった』
「確かに最近人気落ちてるような気がするし、他のメールマガジンに負けて
るような気がするし、やりがいってなんなんだろう……」
『うざいわねー、水希ちゃんのやりたいようにやりゃいーでしょ！！』
「そりゃそうだけど……」
『まぁ、なんだかんだ言っても、あたしは結構満足してるんだし……」
『か、かみちゃぁん』
『で！？　で、どーすればいーの……』
「あ、えっとねぇ、とりあえず Calc ダイアログ閉じて」
『閉じたよ。そしたら？』
「そしたらメニューの【表示】−【ClassWizard】選んで」
『くらすうぃざーどっと、あ、そーゆーダイアログ出た』
「コントロールの操作にはクラスとの連携が不可欠。クラスウィザードは、
その連携のためのツール」
『ウィザードって〈魔法使い〉の？』
「そうそう。ま、プログラマーの中では〈凄い人〉って意味で使われてるけ
どね」
『すごいひと、かー』
「で、このダイアログの【メンバ変数】タブをクリックして」
『クリックっと』
「そしたら右上の【クラス名】を CCalcDlg にして」
『あ、下に色々出てきた』
　【コントロールＩＤ】には……

IDC_B_EQUAL
IDC_E_ANS
IDCANCEL
IDOK

　と表示されている。
『あ、IDC_E_ANS がある。あれ、確か IDC_B_EQUAL ってボタンのＩＤだよ
ね。……よく考えたらボタン作ったときにＩＤ書いてたんだね』
「Ver 2.0（ No.011 ）でね。でもあのときはＩＤの意味とか言わなかった
から」
『なんだ、こんときから〈使い方の〉解説しか……あ』
「ぅ”……」
『はいはいもういいから！　そういえば IDCANCEL とかって？』
「まだ見てなかったけど、初めから貼り付いてる【キャンセル】ボタンと
【OK】ボタンのＩＤ」
『あ、なるほど』
「さて、メンバ変数って憶えてる？」
『憶えてるって、ついこの前じゃない教えてもらったの。クラスが持つ変数
だよね』
「そうそう。このクラスウィザードを使うと、コントロールとメンバ変数を
結びつけることができます」
『結びつける？』
「ま、これは実際に試した方が早いかも。 IDC_E_ANS をダブルクリックし
て」
『ダブルクリックっと。あ、ダイアログ出た』
「まず真ん中の【カテゴリ】を見て」
『【値】【Value】【コントロール】ってあるよ』
「【値】はコントロールを〈変数〉と見なすもの。今回はここに計算の答を
書き込むから、これにして」
『変えなくていいってことね。他のふたつは？』
「【Value】は難しいのだしそんな使わないからパス。【コントロール】は
結構重要。コントロールを操作したいときに選びます」
『操作って？』
「たとえば外から文字列をペーストできるようにしたり、ダブルクリック用
のイベントを追加したり」
『へー』
「ＭＦＣには CEdit ってエディットコントロール用のクラスがあるから、
その型のメンバ変数をこのクラスウィザードで関連づけたり……まぁ結構難
しいんだけどね」
『うん、チンプンカンプン』
「ま、それはまた今度ってことで、今度は一番下、【変数のタイプ】。これ
は〈数字を書き込む〉から int を選んで」
『int って int 型の？』
「そうそう。ここで選んだ型のメンバ変数を作ってくれるから。他にもいろ
んな型があるんだけど、まだ紹介してないしね」
『うん、これもチンプンカンプン』
「じゃ、最後は一番上の【メンバ変数】。これはメンバ変数名だから」
『ってことは int m_? みたいになるってこと？』
「そうそう。じゃあどういう変数名つければいいかな」
『あ、そういうのってなかったね。水希ちゃんがいつもしてる方法だと、
int m_iAns みたいな？』
「ま、そういうことかな。これも基本的に自由だけど」
『ぱっと見で分かるように、ね』
「そういうこと。そしたら【OK】押して、ダイアログ閉じて、同じく【OK】
押してクラスウィザードも閉じて」
『ハイ両方とも閉じて？』
「そしたらいつもの【＝】ボタンを押したときのメンバ関数を」

void CCalcDlg::OnBEqual() 
{
    UpdateData( TRUE );
    TRACE( "%d\n", m_iAns );
}

「って書き換えて」
『UpdateData() は初見だよね。TRACE() はアウトプットに数字表示するの、
m_iAns はさっき作ったの？』
「そ。ま、とりあえず試してみて」
『はーい。ビルドして実行……？　【＝】押しても０がアウトプットに出て
くるだけだよ』
「あ、そうそう、さっき貼り付けたエディットボックスに数字書き込んでか
ら押してみて」
『はーい、123 って入れてから【＝】っと、あ、アウトプットに 123 って
出てきた！』
「って感じに、エディットボックスの数字を、メンバ変数に入れることがで
きるわけです」
『……ねぇ、』
「ぎく……」


/*
    Preview Next Story!
*/
『嘘つきウソツキうそつきぃ！！』
「ま、３ヶ月延びるのも１週延びるのも同じってことで」
『うおコイツ開き直るし』
「というわけで次回」
＜ Version 3.11 計算機完成！！ ＞
『につづく！！』
「来週はちゃんと完成します！」
『ねー水希ちゃん、〈週間少年ジャンプ〉って知ってる？』



/*            １９９９年１２月１３日（月）の更新予定              */
http://www2.justnet.ne.jp/~kabstudio/Info/News/

・更新なし……。
　たぶん、更新はないでしょう。でももしかしたら……？


/*                          ご注意！！                            */

・このメールを返信しないでください。
・感想はこのページから送ってください。
http://www2.justnet.ne.jp/~kabstudio/Info/MailMagazine/Impression/
・購読登録を解除したいときにはこのページで行なってください。
＊http://www.mag2.com/m/0000012198.htm
＊http://www.pubzine.com/detail.asp?id=000590
・解除は自分で行なってください。
・バックナンバーはこれらのページにあります。
http://bigbeat.tegami.com/~mgsearch/frame.cgi?id=0000012198
http://www2.justnet.ne.jp/~kabstudio/Freeware/

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

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


/*                      See you next week!!                      */


