////////////////////////////////////////////////////////////////////
●まぐまぐの新着ランキング「ビジネス版」で１位を獲得！
　【何もしないで月５０万円！幸せにプチリタイヤする方法】
　「圧倒的な自由」を手に入れたいあなたに、インターネットで幸せに【プチ
　リタイヤ】する方法を伝授。口コミで読者8000人を突破した伝説メルマガ。
　あなたも幸せにプチリタイヤしてみませんか？
　プチリタイヤしたい方は、この指とまれ！
　http://af1.mag2.com/m/af/0000008658/001/s00000000944001/006 
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


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

    送信日： 2007/01/15(Mon) No.390
    配信数： 1663
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

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

2007/01/15 (Mon)
　ほとはー外伝３にP.87を追加！
[ 三人合体ホットハーブ 外伝３ 【ワタシ の キロク】 ]
http://www.kab-studio.biz/Comic/HotHerbA3/index.html

2007/01/15 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
17.28 スマートポインタのまとめ
17.29 継承とコンストラクタ
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


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

2007/01/07 (Sun)
　体調あまりよくない。今日もまったり。なんだかんだ言ってできてるのは
GTDが合ってるから？　あとはテレビ観てまったり。そして胃薬。

2007/01/08 (Mon)
　全然眠れないし課題夢見るし。お昼にカレー食べたら体調が酷いことに。
金曜の症状と同じ。じっと休んで回復。

2007/01/09 (Tue)
　昨日ほど悪くないけど食べると状態が悪くなる。このままがんばれば回復
……。あとは本屋行ったりきらら感想書いたり。タイトなスケジュール。
そしてヨーグルト。

2007/01/10 (Wed)
　グランドマンボウソファを粗大ごみに。iPhoneにクラクラする。EMP-TW1000
を1割で買う。体調は良くなるものの下痢が止まらない。

2007/01/11 (Thu)
　やっと治ってきた。風雅、舞いをがーっと。まだ本調子じゃない、精神的
に。

2007/01/12 (Fri)
　５時寝１１時起き。新しい漫画のアイディアが浮かんだ。それを書き下し
て、あと来週のおしごとの準備。そのあとウォーキングしてメガマック食べ
る。ほとはー外伝３描いたりしてない。

2007/01/13 (Sat)
　１１時起き。ほとはー外伝３が手に着かない。代わりにビデオのダビング。
買いたい物が多い。１月１３日は３２歳の誕生日。当分はおしごと優先。


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

2007/01/07 (Sun)
http://d.hatena.ne.jp/kab_studio/20070107
起きた。
[KAB-studio]ぷらとわ追加。
[KAB-studio][ほとはー]ほとはー外伝３ P.86
[買]買い忘れてたコミックス
[アニメ]「牙」 第40話「狙われた力」
[アニメ]おねがいマイメロディ〜くるくるシャッフル！〜 
　第41話「ゴールできたらイイナ！」
[アニメ]ひまわりっ！！ 第1話「忍者の敵も、また忍者」(新)
[アニメ]京四郎と永遠の空 第1話「永遠の空」(新)
[アニメ]神様家族 第1話「神様 信じますか？」(新)

2007/01/08 (Mon)
http://d.hatena.ne.jp/kab_studio/20070108
起きた。
[KAB-studio][ほとはー]新しい表紙……？
[病気治療]第二波がやってきた……。
[アニメ]金色のコルダ 第14話「乙女心のカプリチオ」
[アニメ]がくえんゆーとぴあ まなびストレート！ 
　第1話「学美星人、あらわる。」(新)
[アニメ]恋する天使アンジェリーク〜かがやきの明日〜 
　第1話「新たな使命」(新)
[アニメ]Master of Epic The AnimationAge 第1話(新)

2007/01/09 (Tue)
http://d.hatena.ne.jp/kab_studio/20070109
起きた。
[買]コミックス購入
[きらら]まんがタイムきらら 2007年2月号
[アニメ]SHUFFLE! MEMORIES 第1話「導入編」(新)
[アニメ]Pumpkin Scissors 第14話「焔、いまだ消えず」

2007/01/10 (Wed)
http://d.hatena.ne.jp/kab_studio/20070110
[買][装備]EMP-TW1000購入！！！！！？？？
[link]iPhoneが本当に登場！！！
そろそろ寝ます。
起きたー。
[装備]グランドマンボウソファを粗大ごみに出しました
[Prog][link]う、うちのサイトが秀丸の役に立った……
[アニメ]DEATH NOTE 第13話「告白」
[アニメ]ネギま！？ 
　第15話「予期せぬ展開でクラスに動揺が広がってるな」

2007/01/11 (Thu)
http://d.hatena.ne.jp/kab_studio/20070111
起きたー。
[病気治療]80%回復。
[アニメ]奏光のストレイン 第10話「未来の記憶」
[アニメ]武装錬金 第15話「中間の存在」
[アニメ]Project BLUE 地球SOS 
　第1話「怪円盤襲来！ スカイナイト発進せよ！【前編】」(新)

2007/01/12 (Fri)
http://d.hatena.ne.jp/kab_studio/20070112
起きた。
[食]メガマック（マクドナルド）
[アニメ]のだめカンタービレ 第1話(新)
[アニメ]ひだまりスケッチ 第1話「1月11日 冬のコラージュ」(新)
[アニメ]Venus Versus Virus 第1話「アオイサソイ」(新)
[アニメ]セイントオクトーバー 
　第2話「ロリ吃驚！　うわさの美女が超来襲！」
[アニメ]すもももももも〜地上最強のヨメ〜 
　第13話「ライバル対決！ ウマとカメ」

2007/01/13 (Sat)
http://d.hatena.ne.jp/kab_studio/20070113
起きた。
[KAB-studio]お誕生日〜。
[アニメ]デルトラクエスト 第2話「森の少女ジャスミン」
[アニメ]彩雲国物語 第33話「覆水盆に返らず」
[アニメ]おとぎ銃士 赤ずきん 第28話「ドワーフの植木鉢」
[アニメ]ふしぎ星の☆ふたご姫 Gyu! 
　第41話「ピュピュの初恋 ビビンのワナ」
[アニメ]コードギアス 反逆のルルーシュ 第13話「シャーリーと銃口」


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

（今週はお休みです）


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

■　第十五章　濁る澱み、清らかな血溜り　−１８−

「あ、そだ」
「？」
　舞はさっきもらったパンフレットを早速開き、温泉街の地図を見る。
「先生にごはん買ってきてって言われてたんだ。私もおなか空いたし」
「僕はいいから」
「……」
　少しの間、少年を見つめてから、にっこり笑って。
「じゃあ、おみやげでも買ってく？」
「え？」
　川沿いの道には店が並び、様々な郷土土産や食べ物が売られていた。夜遅
い時間だったが、浴衣姿の老若男女が買い物をして賑わっていた。
「先生からお金もらってるし、安いものだったら買ってもいいと思うよ」
　そう言われても、と少年は思う。知識とは関係ない「好み」というものは、
少年の苦手とする所だった。
「あ、とりあえずあれ買お」
　舞は少年の手を引いて店の前に行く。店頭ではせんべいが焼かれていて、
甘い醤油の匂いが上がっている。
　コオオオオン……。
　どれを買おうかと迷い始めた瞬間、聞き覚えのある音色が響く。店の端に、
旅館で見かけたものに似た鐘が吊り下げられていた。
「お姉ちゃん、どれにする？　どれもおいしいよ！」
　はちまきを締めた男がせんべいを裏返しながら舞に尋ね、注意をせんべい
に戻す。戻しながら、先ほどの違和感がなんだったのか理解した。
「えっと、甘醤油ふたつ、辛醤油ふたつ、七味ひとつとわさびひとつで」
「あいよ。お二人さん、どっからきたの？」
「えーっと、東京の方から……」
「へぇそうなんだ。それじゃこっちは寒いでしょ。このせんべい熱々のでき
たてだから暖まるよ！　ところでその坊やは弟」
「あ、あの、あの鐘ってなんです？」
　と、舞は無理矢理話の方向をねじ曲げた。
                                                              (続く)

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

■追加・更新単語

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


////////////////////////////////////////////////////////////////////
●まぐまぐの新着ランキング「ビジネス版」で１位を獲得！
　【何もしないで月５０万円！幸せにプチリタイヤする方法】
　「圧倒的な自由」を手に入れたいあなたに、インターネットで幸せに【プチ
　リタイヤ】する方法を伝授。口コミで読者8000人を突破した伝説メルマガ。
　あなたも幸せにプチリタイヤしてみませんか？
　プチリタイヤしたい方は、この指とまれ！
　http://af1.mag2.com/m/af/0000008658/001/s00000000944001/006 
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 18.03
ダイアログプロシージャを static メンバ関数にする

「さて、前回説明したプログラムは API だけで作ってあるわけですが、こ
れをクラスで作っていきます」
『 MFC がそうだからできる、っていうのは分かるんだけど、なんかイメージ
掴めない……』
「そのための練習だしね。さて、まずヘッダーファイルを作成します。
メニューの【ファイル】-【新規作成】を選んでください」
『いつものだね』
「左の欄で【C/C++ ヘッダー ファイル】を選択して、ファイル名は Dialog.h 
にしてください」
『ほい』
「で、この中に以下のように書いてください」

// Dialog.h

// Dialog クラス。
class CDialog
{
public:
    static BOOL CALLBACK DialogProc
    ( HWND p_hDlgWnd
    , UINT p_uiMessage
    , WPARAM p_wParam
    , LPARAM p_lParam
    );
};

『 CDialog クラス作るんだね』
「この CDialog クラスが、ダイアログの基本クラスになります。このクラス
の DialogProc() メンバ関数が前回の DialogProc() 関数」
『つまり普通の関数を CDialog クラスのメンバ関数にするってことね』
「そういうこと。で、このメンバ関数が static メンバ関数っていう点に注
意して」

      ↓これ
    static BOOL CALLBACK DialogProc

『そか、確か普通の関数の代わりに static メンバ関数が使えるって言って
たね』
「 Version 16.28 ( No.355 )  で説明したように普通の関数、特に
コールバック関数の代わりにすることができるんです。
ダイアログプロシージャはコールバック関数でしょ」
『 Windows から呼び出される関数だもんね。だから static メンバ関数に
してるの？』
「そういうこと。こうすることで、メンバ関数でも外から呼び出してもらえ
るようになるわけです」
『なるほどねー』
「では次に、このクラスの本体、ソースファイルを作ります。メニューの
【ファイル】-【新規作成】を選んで、左の欄で【C++ ソース ファイル】を
選択して、ファイル名は Dialog.cpp にしてください」
『ほいと』
「で、この中に以下のように書き込んでください」

// Dialog.cpp
#include <Windows.h>
#include <stdio.h>
#include "resource.h"
#include "Dialog.h"

// ダイアログプロシージャ。
BOOL CALLBACK CDialog::DialogProc
    ( HWND p_hDlgWnd
    , UINT p_uiMessage
    , WPARAM p_wParam
    , LPARAM p_lParam
    )
{
    if( p_uiMessage == WM_COMMAND )
    {
        if( LOWORD( p_wParam ) == IDOK )
        {
            // OK ボタンが押されました。
            EndDialog( p_hDlgWnd, IDOK );
            return TRUE;
        }
        else if( LOWORD( p_wParam ) == IDC_B_EQUAL )
        {
            // 各エディットボックスのウィンドウハンドル
            // を取得します。
            HWND hLeftWnd 
                = GetDlgItem( p_hDlgWnd, IDC_E_LEFT );
            HWND hRightWnd 
                = GetDlgItem( p_hDlgWnd, IDC_E_RIGHT );
            HWND hAnswerWnd 
                = GetDlgItem( p_hDlgWnd, IDC_E_ANSWER );

            // 各エディットボックス用文字列を用意します。
            char pchLeft[256];
            char pchRight[256];
            char pchAnswer[256];

            // IDC_E_LEFT と IDC_E_RIGHT の文字列を取得します。
            GetWindowText( hLeftWnd, pchLeft, 255 );
            GetWindowText( hRightWnd, pchRight, 255 );

            // それぞれ int 型に変換します。
            int iLeft = atoi( pchLeft );
            int iRight = atoi( pchRight );
            
            // 足した結果を pchAnswer に文字列変換します。
            sprintf( pchAnswer, "%d", iLeft + iRight );

            // それを IDC_E_ANSWER にセットします。
            SetWindowText( hAnswerWnd, pchAnswer );

            return TRUE;
        }
    }
    return FALSE;
}

「ほとんど DialogProc() 関数と同じ。違うのは、 CDialog クラスの
メンバ関数っていう点だけ」

            これが加わった
                  ↓
BOOL CALLBACK CDialog::DialogProc

『これだけでいいんだね』
「そう、それだけで static メンバ関数になります。詳しくは
Version 16.26 ( No.353 )  を参考にしてください」
『 DialogProc() メンバ関数の中身は同じだよね』
「うん、 DialogProc() 関数の時と同じ。ということは、 Main.cpp の
DialogProc() 関数が移動したということなので、以下のように修正します」

// Main.cpp
#include <Windows.h>
#include <stdio.h>
#include "resource.h"
#include "Dialog.h"

// ここにあった DialogProc() 関数が、 CDialog クラスの
// メンバ関数になりました。

// WinMain() 。
int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    int iRet
        = DialogBox
            ( p_hInstance
            , MAKEINTRESOURCE( IDD_MAIN )
            , NULL
            , CDialog::DialogProc
            );

    return 0;
}

『まず CDialog クラスを使う必要があるので Dialog.h ヘッダーファイルを
インクルードします』

#include "Dialog.h"  ←この行が追加されました。

「これでこのソースファイルから CDialog クラスを使うことができます。
次に DialogProc() 関数は CDialog クラスのメンバ関数にしたので削除し
ます」

// ここにあった DialogProc() 関数が、 CDialog クラスの
// メンバ関数になりました。

「最後に、 DialogBox() 関数の第4引数には、 DialogProc() 関数のアドレス
ではなく CDialog クラスの DialogProc() メンバ関数を渡すようにします」

    int iRet
        = DialogBox
            ( p_hInstance
            , MAKEINTRESOURCE( IDD_MAIN )
            , NULL
            , CDialog::DialogProc  ←ここが変わりました。
            );

『この使い方も Version 16.28 ( No.355 ) と同じね』
「そういうこと。つまり、ウィンドウプロシージャみたいなコールバック関数
をメンバ関数にしたい場合には、〈 static メンバ関数〉にすればいいわけ
です」
『そう考えると難しいことじゃないよね』
「うん、今回は正式な方法で、ってことでソースファイルやヘッダーファイル
を作ったから複雑になったかもしれないけど、それを別にすれば、単に普通の
関数を static メンバ関数にしただけだから」
『……それってメリットあるの？』
「う”、今回だけだとほとんどメリットないかも」

/*
    Preview Next Story!
*/
『むー、無駄教えられたー』
「でもこれは次回への布石だから」
『えー、ホントー？　なんかタイトルがそれっぽくないけど』
「というわけで次回」
＜ Version 18.04 ウィンドウの 32 ビット整数値 ＞
『につづく！』
「それにこれと同じ方法で WinMain() も static メンバ関数にできるよ？」
『してどうするの？』
「うーん」


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

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
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 - 2007 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

