////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


    (C)KAB-studio 1999 - 2003 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com

    送信日： 2003/02/17(Mon) No.194
    配信数： 3270 ( Mag2 + Pubzine )
＊    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
＊    発行元： Pubzine ( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
/*                ２００３年２月１７日（月）の更新                */
http://www.kab-studio.com/

・ホットハーブ追加！
　三人合体ホットハーブに１話追加しました！！
　いやぁ、やればできるもんだなぁ……。
[ 三人合体ホットハーブ ]
http://www.kab-studio.com/Comic/HotHerb/


////////////////////////////////////////////////////////////////////
/*                        ちょお普通な日記                        */
http://www.kab-studio.com/nikki2/

2003/02/09 (Sun)
　洗濯したりぷらとわ３話書いたり。午後から１１時までお仕事。情処の申
し込み忘れた。ハリケンジャー最終回だけど普通。「タイムレンジャー」み
たいのはもうないのかなぁ。そしてナージャ。まだ見てない……。

2003/02/10 (Mon)
　お仕事お仕事。 Java の命名規則。テレビはこの前の満月をさがしてがい
い感じ。

2003/02/11 (Tue)
　洗濯して床屋行って、ピッチを新しくして。午後からはお仕事。そして
エヴァ。なぜ今エヴァ？

2003/02/12 (Wed)
　リリース間近でヘロヘロモード。お昼はビーフシチューとチーズパン。
そしてＶガンとＧガン。トミノ系は人選ぶよね……。

2003/02/13 (Thu)
　第２リリースのお留守番でデバッグ。スケジュールも少し余裕が。ななか
いいなぁ。人生設計。最近疲れてる。お仕事はいつも忙しいかも。ニュータ
イプ付録ＤＶＤは、エヴァよりも……。

2003/02/14 (Fri)
　さくっと１１時過ぎまで。相変わらずデバッグ。でも明日はお休み。ほと
はー描かないと。欲しいもの、１９インチディスプレイ。でかくて重いけ
ど。

2003/02/15 (Sat)
　ずっと ANUBIS Z.O.E 。８時間でクリア。アクションパートが思ったより
難しかった。クオリティは高いんだけど……。かなり映画っぽい。いいこと
はいいんだけど。そしてディスプレイ。やっぱり体感的には１９と２１はそ
れほど違わない？


////////////////////////////////////////////////////////////////////
/*                         風雅、舞い                             */
http://www.kab-studio.com/Novel/Fuga/

■　第六章　帰郷　−８−

　雅樹が住んでいたマンションの一室、そのドアには「モデルルーム」と書
かれた張り紙が貼られていた。エレベーターから降りたふたりの男女が、そ
の前へと立つ。
「ねぇ水希ちゃん、おっきくなったらこんなとこに住もうね！」
「って、何言ってるの火美ちゃん！？」
「大丈夫よ、ローンくらいあたしの稼ぎで返しちゃうんだから」
「そういうことじゃなくって……」
　どこからどう見ても中学生くらいのふたりは、その豪華なドアを開けて中
へと入った。
「どうも〜、冷やかしに来ましたぁ」
「ごめんなさい、すぐに帰りますから……え？」
　呆然と立ち尽くすふたりの視界には、もうこれ以上ないというくらい壊し
上げられた家具が散乱している。食器棚も、タンスも、冷蔵庫さえ、何か巨
大な刃物に斬られたような形で原型を見事に崩している。散らばった破片
で、足の踏み場もない状態だった。
「なんなのこれ……」
「きゃーっ、なんかすっごくいい感じ！！　なんかサイケでデリシャスって
感じ」
「火美ちゃん言ってる意味解ってる？」
　そのマンションの下を歩く男がいた。背広姿の行雄は地図を片手に周りを
見回していた。
「それにしても、人がいなくてよかった……」
　この力を授かったとき、自分は生まれ変わったと感じた。だが、実際の生
活のためには、この力を抑え込まなくてはならない。
「けど……」
　つい先ほど、思う存分暴れたときの感覚は、何物にも代え難いものであ
り、そして今までに経験したことのない快感だった。その悦びを理性という
名の首輪と記憶という名の鎖を使って飼い慣らそうとしている、そう感じ
た。
「でも、いくら何でも人は斬れないよ……」
　そんなノイローゼ気味の感覚を覚えながらも、地図を確認しながら道をた
どっていく。
「辻さんも無茶なこと言うよなぁ……」
　この力を授かってからは、逆に青年との関係もうまくいっていなかった。
と言うよりも、青年と悦びを分かち合えるのは、自分の中の別の自分ではな
いか、そう感じていた。
　彼のようになりたい、そういう思いも強くあった。
「意を決しなきゃダメだよな……」
　ふと顔を上げると、目的の家が見つかった。とりあえず人がいないことを
祈ろう……と、その家から、髪を短く切った長身のいかにもスポーツマンと
いうような感じの青年が出てきた。
　あ、あれはレベル５重要人物結白舞の兄の奨！　と思ってる間に奨は脇を
通り過ぎてそのまま走って行ってしまった。振り向けば、青いサウナスーツ
はどんどんと遠ざかっていってしまった。
「……うーん、しょうがないな、いっちゃっちゃぁ」
　……？　……？　……。しょうがなくない。大丈夫、ちゃんと追いつける
から。追いつめて、君のそのきれいな爪で切り裂いてあげるんだ。君も、そ
の悦びの声を聞きたいだろう？
　行雄はうなずき、そして、飛んだ。
                                                              (続く)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
『……私達って、中学生くらいに見える？』
「表紙だとそのくらいに見えるときあるよ」
『……私ってロリキャラ？』
「少なくとも大人の色気はないと思うよ」
『げし！』
「はうっ」
http://www.kab-studio.com/
_______________________________________________________________[KCM]


////////////////////////////////////////////////////////////////////
/*                       #pragma twice                            */
http://www.kab-studio.com/Programing/PragmaTwice/

　Version 10.16
ステータスバーを使ってみる・ SDK 編

「前回はステータスバーそのものを作ってみました」
『っつーか作っただけだね』
「うん、それだともちろん意味ないから、これからステータスバーを使って
みます」
『ステータスバーって Version 9.13 ( No.174 ) で使ってみたよね。あれ
と似てる？』
「ある程度似てるから参考になる部分はあるよ。比較しつつやってみるのも
いいかも。じゃあ、まずは試してみようか。まず、 #include の下くらいに
次の行を追加して」

HWND g_hStetusBarWnd;

『何これ』
「グローバル変数って言って、どこからでも使える変数」
『うん、それはなんとなく分かるんだけど』
「ここに、ステータスバーのウィンドウハンドルを入れておきます。実際に
入れる部分はこれ」

// ウィンドウが作られます。
LRESULT OnCreate
    ( HWND p_hWnd
    , WPARAM p_wParam
    , LPARAM p_lParam
    )
{
    g_hStetusBarWnd = CreateStatusWindow
        ( WS_CHILD | WS_VISIBLE
        , "テスト"
        , p_hWnd
        , 100
        );
    if( g_hStetusBarWnd == NULL )
    {
        // ステータスバーが作られませんでした。
        return -1;
    }

    return 0;
}

『この前のステータスバーを作ってた部分だね。あ、 
CreateStatusWindow() の戻り値をさっきの変数に入れてる』
「 CreateStatusWindow() は、戻り値にステータスバーのウィンドウハンド
ルを返すんです」
『それを取っとくってこと？』
「そういうこと。で、ステータスバーに文字列をセットするときには、この
ウィンドウハンドルにメッセージを送ります。ちょっと手抜きして、前に
作ったメニュー用の関数をこう修正して」

// ID_MENU_TEST が選択されました。
LRESULT OnMenuTest
    ( HWND p_hWnd
    , WPARAM p_wParam
    , LPARAM p_lParam
    )
{
    SendMessage
        ( g_hStetusBarWnd
        , SB_SETTEXT
        , 0
        , (LPARAM)"OnMenuTest()" 
        );
    return 0;
}

『メッセージ送るのはいつもの SendMessage() ね。送り先はさっきのス
テータスバーのウィンドウハンドル、 SB_SETTEXT は初めて見る……よね』
「うん、これはステータスバー専用のメッセージだから。最初の S は
StatusBar の S だから。でも」
『でも？』
「 Version 5.29 ( No.094 ) で出てきた、ウィンドウのタイトルを変える
メッセージ WM_SETTEXT に似てるかな」
『あ、そういえば』
「全部同じじゃないけど、あれに近いかも」
『文字列を LPARAM に渡して、 LPARAM にキャストしてるのなんか同じだ
ね』
「違うところは WPARAM だね。 WM_SETTEXT は 0 を渡すことになってるけ
ど、 SB_SETTEXT はここに値を渡すことができます。たとえばこんなふう
に」

// ID_MENU_TEST が選択されました。
LRESULT OnMenuTest
    ( HWND p_hWnd
    , WPARAM p_wParam
    , LPARAM p_lParam
    )
{
    SendMessage
        ( g_hStetusBarWnd
        , SB_SETTEXT
        , SBT_POPOUT
        , (LPARAM)"OnMenuTest()" 
        );
    return 0;
}

『 SBT_POPOUT って渡してるね。ビルドして実行！　あ”、なんかでっぱっ
た』
「こういうふうに、ステータスバーのスタイルを変えるフラグを渡せます。
これは、さっきの MFC 版の方で出てきた、 CStatusBarCtrl::SetText() の
第３引数に渡しているものと同じ」
『あ、この辺は MFC も同じなんだ』
「 MFC の方が、この SB_SETTEXT を使いやすくしてるってところかな」
『あ、質問！　 MFC でステータスバー使った時ってなんか配列使ったけ
ど、あれってないの？』
「あるけど、微妙に違うかな。 SDK の方は、ステータスバーを区切る時に
使います」

// ウィンドウが作られます。
LRESULT OnCreate
    ( HWND p_hWnd
    , WPARAM p_wParam
    , LPARAM p_lParam
    )
{
    // ステータスバーを作ります。
    g_hStetusBarWnd = CreateStatusWindow
        ( WS_CHILD | WS_VISIBLE
        , "テスト"
        , p_hWnd
        , 100
        );
    if( g_hStetusBarWnd == NULL )
    {
        // ステータスバーが作られませんでした。
        return -1;
    }

    // ステータスバー枠用配列。
    int iAry[3];
    iAry[0] = 100; 
    iAry[1] = 200; 
    iAry[2] = -1; 

    // ステータスバーに枠を追加します。
    SendMessage
        ( g_hStetusBarWnd
        , SB_SETPARTS
        , 3
        , (LPARAM)iAry
        );

    return 0;
}

『お、今度はステータスバーを作ったらそのあと配列作って、さらにステー
タスバーにメッセージ送ってる』
「 SB_SETPARTS は、ステータスバーをいくつかの枠に分けるメッセージ。 
LPARAM に配列渡してるでしょ」
『うん、これだね』

    // ステータスバー枠用配列。
    int iAry[3];
    iAry[0] = 100; 
    iAry[1] = 200; 
    iAry[2] = -1; 

「これは、ステータスバーを３つに区切る場合の例。最初の 100 は、左か
ら 100 ピクセルまで、 200 は、左から 200 ピクセルまで、 -1 は右端ま
で」
『ん？？？　よくわかんないんだけど』
「イメージとしては、こんな感じ」

          100
[    0     ]        200
[          1         ]                           -1 （画面端）
[                            2                    ]

「これが全部重なって」

          100        200                         -1 （画面端）
[    0     ][    1    ][             2            ]

「ってなってるって感じ」
『なんとなく分かるけど……』
「っていうか、実際に使って見た方が早いかも。

// ID_MENU_TEST が選択されました。
LRESULT OnMenuTest
    ( HWND p_hWnd
    , WPARAM p_wParam
    , LPARAM p_lParam
    )
{
    SendMessage( g_hStetusBarWnd, SB_SETTEXT
        , 0 | SBT_POPOUT, (LPARAM)"いち" );
    SendMessage( g_hStetusBarWnd, SB_SETTEXT
        , 1 | SBT_POPOUT, (LPARAM)"にぃ" );
    SendMessage( g_hStetusBarWnd, SB_SETTEXT
        , 2 | SBT_POPOUT, (LPARAM)"さん" );
    return 0;
}

『うお、三段重ね！　ビルドして実行、いちにぃさん！　こうなるのねー』
「補足をふたつ。 SB_SETTEXT の WPARAM の」

2 | SBT_POPOUT

「の左側が分けたステータスバーのどこに出力するか。右側はさっきのス
テータスバーのスタイル」
『 | でくっつけるって、フラグくっつけるのと似てるね』
「一応同じなんだけど、ちょっと特殊かも。もうひとつ、 SB_SETPARTS の
WPARAM の 3 は、枠の数」
『それって配列の中身の数ってことでいいんだよね』
「うん、それと同じ」

/*
    Preview Next Story!
*/
『あれ、すぱっと終わったね』
「次にも続くから」
『って、 MFC の時は２回じゃなかったっけ？』
「 SDK だけの方が教えることは多いからね」
『便利じゃないから？』
「融通が利くから」
『融通？』
「というわけで次回」
＜ Version 10.17 ステータスバーをクリック！ ＞
『につづく！』
「クリックなんてのも簡単にできます」
『 MFC の時はできなかったの？』
「試してない……」
『ダメジャン』


////////////////////////////////////////////////////////////////////
/*                ２００３年２月２４日（月）の更新                */
http://www.kab-studio.com/

・更新なし？
　今週できたからって、来週もできるとは限らない……。


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

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


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

    (C)KAB-studio 1999 - 2003 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com
*/
////////////////////////////////////////////////////////////////////

