////////////////////////////////////////////////////////////////////
◆◆◆業界騒然！HD容量20GB・CPU3.4GHz/15,000円◆◆◆
大容量・高品質・低価格なレンタルサーバーを提供します
サイボウズ専用・ストリーミング用レンタルサーバーなど
====================================================
詳しくはこちらまで ↓
http://af1.mag2.com/m/af/0000008658/001/s00000003591001/003 
====================================================
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


    (C)KAB-studio 1999 - 2006 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz

    送信日： 2006/06/05(Mon) No.360
    配信数： 1757
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
// NEW!!
http://www.kab-studio.biz/index.html

2006/06/05 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
15.23 「プロジェクトの設定」コンパイル編(3)
15.24 「プロジェクトの設定」リンク編(1)
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


////////////////////////////////////////////////////////////////////
// ちょお普通な日記
http://www.kab-studio.biz/nikki2/index.html

2006/05/28 (Sun)
　午後までまったり。お昼過ぎに洗濯、夜にほとはー外伝３。夏コミ受かり
ました、日曜日（8月13日） 東地区 リ-42a「KAB-studio」です。

2006/05/29 (Mon)
　講師先Ｂ社にておしごと。比較的暇。帰ってからはまったり……。

2006/05/30 (Tue)
　引き続きおしごと。生徒の顔が憶えられない……。帰りに東急ハンズで
７つ道具購入。レポート用紙で説明します。

2006/05/31 (Wed)
　おしごとは慣れたので暇。コネ作っておくのが重要かなぁ。月末なので
お金振り込まれました。

2006/06/01 (Thu)
　講師先Ｂ社でのおしごと、前半終了。終わりにミーティング。精神的充足
が……。体力落ちてる。

2006/06/02 (Fri)
　講義はバグ潰しに奔走。メトロイドプライムハンターズ到着。やりまくり。

2006/06/03 (Sat)
　いつの間にか寝てた。メトロイドしまくり。久我山のホタル祭りへ。


////////////////////////////////////////////////////////////////////
// かぶろぐ。
http://d.hatena.ne.jp/kab_studio/

2006/05/28 (Sun)
http://d.hatena.ne.jp/kab_studio/20060528
起きた……。
[KAB-studio]ぷらとわ追加。
[KAB-studio][ほとはー]ほとはー外伝３ P.63
[アニメ]おねがいマイメロディ〜くるくるシャッフル！〜 
　第9話「スキって言えたらよろしおすナ！」
[アニメ]「牙」 第9話「戦いのあと」
[アニメ]ひぐらしのなく頃に 第8話「綿流し編　其ノ四　謝罪」
[アニメ]西の善き魔女 第8話「幻想曲と遁走曲」

2006/05/29 (Mon)
http://d.hatena.ne.jp/kab_studio/20060529
起きた。
帰ってきた。
[アニメ]ARIA The NATURAL 第9話「その　素顔の星たちは…」
[アニメ]Fate/stay night 
　第21話「天地乖離す開闢の星（エヌマ・エリシュ）」
[アニメ]うたわれるもの 第8話「調停者」
[アニメ]うたわれるもの 第9話「禁忌」
[C70]コミケ当落通知到着。

2006/05/30 (Tue)
http://d.hatena.ne.jp/kab_studio/20060530
おおおおお起き……。
帰宅帰宅帰宅。
[買][装備]ハンズで買ってきたもの。
[link]「購読料」を設定できるブログサービス「Vector maglog」
いつの間にか二周年。
[アニメ]涼宮ハルヒの憂鬱 第9話「サムデイ イン ザ レイン」

2006/05/31 (Wed)
http://d.hatena.ne.jp/kab_studio/20060531
起きた。
帰宅。
[アニメ]桜蘭高校ホスト部 第9話「ロベリア女学院の挑戦」
[アニメ]ブラックラグーン 第8話「Rasta Blasta」
[アニメ]昨日の日記に感想追加。

2006/06/01 (Thu)
http://d.hatena.ne.jp/kab_studio/20060601
起きた。
帰宅。
[link]ITmedia News：２ちゃんねるのネタは誰のもの？
　スレ紹介系ブログの閉鎖相次ぐ
[アニメ]ゼーガペイン 第9話「ウエットダメージ」

2006/06/02 (Fri)
http://d.hatena.ne.jp/kab_studio/20060602
起きた。
帰ってきた。
[メトロイドプライムハンターズ]はじめました。
[メトロイドプライムハンターズ]現在のスタイル

2006/06/03 (Sat)
http://d.hatena.ne.jp/kab_studio/20060603
起きたとゆーか寝てた。
[アニメ]彩雲国物語 第9話「千里の道も一歩から」
[アニメ]ふしぎ星の☆ふたご姫 Gyu! 第10話「とだえた友情☆リオーネのまごころ」
[アニメ]ウィッチブレイド 第9話「哀」
[アニメ]感想追加
[アニメ]Fate/stay night 第21話「願いの果て」
[メトロイドプライムハンターズ]中毒症状


////////////////////////////////////////////////////////////////////
// Ajaxでエロゲーを作るブログ
http://d.hatena.ne.jp/AjaxEroge/

（今週はお休みです）


////////////////////////////////////////////////////////////////////
// 風雅、舞い
http://www.kab-studio.biz/Novel/Fuga/index.html

■　第十四章　混乱の我家　−３−

　その映像に、誰もが見入っていた。
　プロジェクター、それもオフィス用ではなくシアター用の物を使用して
１２０インチのスクリーンに投射された映像は、陸上自衛隊の機械化部隊が
ＡＷによって壊滅していく行程をドラマチックに描き出していた。
　以前の映像を見て存在を理解した上での映像は、強い説得力を持ってい
た。ＡＷは３体。どれも人型で、ヒトのサイズを超えていない。だが、一体
は全身が濃いグレー、一体は巨大なプロレスラーをさらに一回り大きくした
肉体を持っている。残りの一体はごく普通の人間に見えたが、それは土煙を
巻き上げつつ銃弾を躱していた。
「あ」
　一人が嗚咽とも取れる声を上げる。人の姿をした一体が兵士達には脇目も
振らず、数百メートル離れた９０式のすぐ下まで駆け寄り、腕を薙ぐ。
　キャタピラが切り剥がされ、車体が崩れ落ちる。
　広大な敷地、肌色の地面がひたすら続く戦場をＡＷ達が疾る。筋肉質の
ＡＷがボディアーマー越しに兵士を蹴りつけ、数メートル先まで吹き飛ば
す。濃灰色の一体は無反動砲の直撃を受けながら、その噴煙の中から無傷の
姿を表した。
　サイレンが鳴り、ＡＷ達は手を下ろす。兵士達はその場にしゃがみこみ、
悪夢の終演を祝った。
　映像はそこで終わり、部屋に明かりが点く。男達がプロジェクターを取り
替えて、本当のプレゼンのために準備を行う。
（まったく、とんでもないものを造ってくれたな）
　石和の隣に座る男が、小声でささやきかける。石和はそれに愛想笑いで答
えつつ立ち上がる。頬の痕は見えず、右肩には突起物も見られず、その姿は
ごく普通の人間に見えた。
　会議室の端、PCの前へと立ってプレゼン用ファイルを開く。
　オフィス用のプロジェクターが、スクリーンに
【Ａｄｖａｎｃｅｄ　Ｗｅａｐｏｎ 第４回中間報告】というタイトルを表
示する。石和はマイクのスイッチを入れ、喜々としてプレゼンを開始した。
                                                              (続く)

////////////////////////////////////////////////////////////////////
// JavaA2Z
http://www.kab-studio.biz/Programing/JavaA2Z/index.html

■追加・更新単語

（今週の追加はありません）


////////////////////////////////////////////////////////////////////
◆◆◆業界騒然！HD容量20GB・CPU3.4GHz/15,000円◆◆◆
大容量・高品質・低価格なレンタルサーバーを提供します
サイボウズ専用・ストリーミング用レンタルサーバーなど
====================================================
詳しくはこちらまで ↓
http://af1.mag2.com/m/af/0000008658/001/s00000003591001/003 
====================================================
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 17.05
CWnd クラスの継承関係

「前回は protected とかのアクセス修飾子のまとめをしました」
『とりあえずはこれまで通りで、派生クラスから使いたいときに protected 
ってとこ？』
「そんな感じかな。今回は、派生クラスでメンバ変数やメンバ関数を受け継
ぐことができる、っていう部分のまとめとして CWnd クラスについて見てい
きます」
『あれ、 CWnd クラスって MFC の？』
「そう。まず MSDN の CWnd クラスのページを開いて」
『ほい開いたよ』
「次に、一番下にこう書いてあると思うんだけど」

#include <afxwin.h>

クラス メンバ |  基本クラス |  階層図 ←←←←←ここ
サンプル  MFC サンプル BINDENRL | MFC サンプル EXTBIND | ...
参 照   CFrameWnd、CView

「この【階層図】のところをクリックして」
『ほい。あ、なんか図が出てきた』
「これは、 MFC の〈基本クラスと派生クラスの関係〉を示した図です」
『つまりどう継承してるか、ってこと？』
「そういうこと。左上が基本クラス、右下が派生クラスって読めばいいか
な」
『もしかして、 MFC のクラスって全部この中に書かれてる？』
「うん、全部書かれてるよ。つまり、 MFC のクラスは、それぞれが単体で
存在しているんじゃなくて、何らかの形で継承してるってこと」
『へー、そういうの意識してこなかったけど、こんなとこで継承とか使って
るんだ』
「その中でも、 CWnd クラスを中心にした継承関係を見ていこうか」


┌─────────┐
│CWnd クラス       │
└─────────┘
          △
          ├──────────┬─────────┐
          │                    │                  │          
┌────┴────┐┌────┴───┐┌────┴────┐
│CDialog クラス    ││CView クラス    ││CButton クラス    │
└─────────┘└────────┘└─────────┘
          △                    △         
          │                    │         
          │                    │         
┌────┴────┐┌────┴───┐
│各ダイアログクラス││各ビュークラス  │
└─────────┘└────────┘
                                                                

「とりあえずはこんなところかな」
『少な！』
「まぁ全部書くと大変だからね……」
『それに、〈各ダイアログクラス〉とかは何？　 MFC のクラスじゃないよ
ね』
「これはあとで説明するから。まずは……」

・CWnd クラス

『これは何度も使ってるものね』
「そう、ウィンドウを使うためのクラス。でもこのクラス単体で使ったこと
はほとんどないと思うよ」
『え……あれ、そういえばそうかも？　なんでだろう』
「それは、派生クラスを使うことがほとんどだから。でも派生クラスで、
基本クラスのこの CWnd クラスのメンバ関数を使うことが多いから」
『使っていた気になってた？』
「っていうことかも。その例として……」

・CButton クラス

『ボタンを使う時のクラス！ Version 5.25 ( No.090 ) とかで使ったね』
「そう、ダイアログに貼り付けるボタン、エディットボックス、
ドロップダウンリストといったコントロールはすべてウィンドウ、」
『だから CWnd クラスの派生クラスなの？』
「そういうこと。 CWnd クラスの派生クラスにすることで、 CWnd クラスの
持つ〈ウィンドウを操作する機能〉をそのまま受け継ぐんです。たとえば
Version 5.26 ( No.091 ) では CWnd クラスの SetWindowText() メンバ関数
を使用しています」

// いつものメンバ関数。
void CFileTestDlg::OnBtnShow() 
{
    CButton cShowBtn;
    cShowBtn.Attach
        ( ::GetDlgItem( GetSafeHwnd(), IDC_BTN_SHOW ) );
    cShowBtn.SetWindowText( "あいうえお" );
    cShowBtn.Detach();
    return;
//  あとは取っておきましょう。

「この以下の箇所がそう」

    cShowBtn.SetWindowText( "あいうえお" );

『そか、 SetWindowText() って CWnd クラスのメンバ関数だね』
「このようにして、 CButton クラスの変数を通して、基本クラスの 
CWnd クラスのメンバ関数を呼び出しているわけです」
『つまり、こうして基本クラスのメンバ関数を派生クラスで使える、ってい
う例をなんども見てきた、と』
「そういうこと。本当に何度となく、ね」
『むむむ』
「たとえばダイアログアプリケーション」
『んー、それって Version 4.01 ( No.051 ) とかで教わったののことだよ
ね』
「そう、ダイアログを表示するだけのプロジェクト。そうして作成した
プロジェクトにはダイアログクラスがあったでしょ」
『その Version 4.01 ( No.051 ) の時だと CTestApp01Dlg クラスのこと
だよね。……あ！　それってもしかして、それが』

┌─────────┐
│CWnd クラス       │
└─────────┘
          △
          │          
          │          
┌────┴────┐
│CDialog クラス    │
└─────────┘
          △          
          │          
          │          
┌────┴────┐
│各ダイアログクラス│←これ
└─────────┘

『のこと！？』
「そういうこと！　ダイアログアプリケーションを作成すると、 AppWizard 
が CDialog クラスの派生クラスを作成します。たとえば以下のように」

// TestApp01Dlg.h : ヘッダー ファイル
//

// 略

////////////////////////////////////////////////////////////////////
// CTestApp01Dlg ダイアログ

class CTestApp01Dlg : public CDialog
{
// 略
};

『はー、そういえばそうだね。なんか今まであまり意識してこなかったけど』
「こうして作られたダイアログクラスは CDialog クラスの派生クラスです。
かつ、 CWnd クラスの派生クラスでもあるんです」
『 CDialog クラスが CWnd クラスから継承しているから？』
「そういうこと。こうして連続して継承していけば、ダイアログクラスは
CWnd クラスと CDialog クラスの両方のメンバを受け継いだことになる
わけです」
『ってことは、こうして作られたダイアログクラスから、 CWnd クラスの
メンバが使えるってこと、ってゆーか使ってるよね、さっきの 
SetWindowText() とか使ったことあるもん』
「 Version 3.2 ( No.027 ) とかで使ってるね」

void CCalcDlg::OnBEqual() 
{
    SetWindowText( "あいうえお" );
}

『使ってた……なんかすごく何気なく使ってたけど、ちゃんと継承って機能
でメンバ関数を引き継いでいたから使えたんだ……』
「同じく、 Version 9.01 ( No.162 ) で作成した SDI アプリケーションの
場合には、 AppWizard が CView クラスの派生クラスとしてビュークラスを
作成しました」


┌─────────┐
│CWnd クラス       │
└─────────┘
          △
          │          
          │          
┌────┴────┐
│CView クラス      │
└─────────┘
          △          
          │          
          │          
┌────┴────┐
│各ビュークラス    │
└─────────┘


「たとえば Version 9.05 ( No.166 ) の、右クリックメニューを表示する
プログラムでは GetCursorPos() メンバ関数とかを呼び出しているけど、こ
れも」
『 CWnd クラスのメンバ関数ってわけねー』
「で、重要なのは、もし継承って機能がなかったら、これどうなると思
う？」
『継承がなかったら……んー、ひとつひとつのクラスにウィンドウを操作す
る機能が必要になる……そか、 CDialog クラスとか自分が作ったクラスに
SetWindowText() メンバ関数を追加したりしなきゃいけなくなる！』
「そういうこと。継承を使うことで、基本クラスにメンバ関数を作っておけ
ば、それを継承するだけで多くの派生クラスで利用することができる、とい
うわけです」
『その楽をするために継承を使う、ってわけね』
「う”、そういうわけでもないんだけど……」

/*
    Preview Next Story!
*/
『違うの？　違うの？？』
「うーん、……まぁそれは置いといて」
『置いとくんかい！』
「次回は目一杯複雑な話です」
『なんですと！？』
「というわけで次回」
＜ Version 17.06 継承と代入 ＞
『につづく！』
「継承と代入が絡むととっても大変なことになるんです」
『大変なことってなにー！？』


////////////////////////////////////////////////////////////////////
/*                          ご注意！！                            */

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
http://www.kab-studio.biz/nikki2/index.html
・購読登録を解除したいときにはこのページで行なってください。
http://www.mag2.com/m/0000012198.htm
・解除は自分で行なってください。
・バックナンバーはこれらのページにあります。
http://backno.mag2.com/reader/Back?id=0000012198
http://www.kab-studio.biz/Freeware/index.html#MailMagazine


////////////////////////////////////////////////////////////////////
/*
    KAB-studio.h
      Weekly Mail Magazine.
      Written by Kaburaya Seiden.
      http://www.kab-studio.biz/Info/MailMagazine/

    (C)KAB-studio 1999 - 2006 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

