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

    KAB-studio.h


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

    MF 2003/02/24(Mon) No.195
    zMF 3230 ( Mag2 + Pubzine )
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine ( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
/*                QOORNQQSij̍XV                */
http://www.kab-studio.com/

Ezbgn[uǉI
@Ol̃zbgn[uɂPbǉ܂II
@ccԖẐɂȂQbAǉłijB͐VL
Iڂ̉ł`B
[ Ol̃zbgn[u ]
http://www.kab-studio.com/Comic/HotHerb/


////////////////////////////////////////////////////////////////////
/*                        储ʂȓL                        */
http://www.kab-studio.com/nikki2/

2003/02/16 (Sun)
@قƂ́[ĂȂB`ȂƉɂȂccBd̓Xp
QbeBBƂ ANUBIS B ADA ƕςȉbB

2003/02/17 (Mon)
@ƂقƂ́[ǉBꂪR܂ŁBd̓[XOłЁ[
Bꂩ炪ĂďʔȂƂɁBقƂ́[̃qbg
ƏȂH@ς܂߂ɕ`ȂƁBl^͂邩炠Ƃ͕`
B

2003/02/18 (Tue)
@fobOOBGۂɊ܂ VC gÂ炢Bgn߂̂
OBggRvJnB̓XēIqbgB

2003/02/19 (Wed)
@T[ubgĕGBݒƂ悭킩ȂB Java ̃RpC
̎Qƕ@ǂȂB Ever17 ̃h}bcAccBQ[
̕xȂB Let It Be!! BقƂ́[ƕ
H

2003/02/20 (Thu)
@CȏC邱ƂɂȂău[B̊ԂɂxoʂɁBA
 Java WORLD wBƂ Java 邽߂ɁB ATOK16 B

2003/02/21 (Fri)
@oOƎv荞݂ɔWBƂ̃}VƂ Tomcat ƂB
KabKi JnBcƋxoǁAߎԂ͂WOԂ炢BPXC
`fBXvCw\BقƂ́[͍XVł邩ǂccB

2003/02/22 (Sat)
@ߑO͐󂵂B炨dBsb`𗎂Ƃĉ󂷁ijB
T[rXZ^[ŏC˗BPXC`fBXvCwB̂Ƃ
dBĂقƂ́[BՂN΁ccB


////////////////////////////////////////////////////////////////////
/*                         A                             */
http://www.kab-studio.com/Novel/Fuga/

@Ź@A@|X|

uAdCĂƒʂĂ񂾂Ă΁v
@͂͐ĂA͂܂M^̂܂܂B
uŌȂƐMȂBŉƂȂ񂾂v
uȂ񂾂悧AقAꌩAȂ񂾂āv
@wɂ́AĂ݂ΓdCʂ肻ȃP[u
LтĂ悤ɂ邪A̖؂̎}̏nĂ邻́Au
킩Ȃ́vł\ʗpɌB
u˂AؑN͂ǂvHv
uƂ肠AdC炢͒ʂĂĂsvcƂ͎vȂǁcc܁A
֗̕ȁv
uႻˁv
@qƏrÝAӂ̃PJ班悤ɂĂƂǂĂ
BƏƂƂŁAӂ̕\SȂɂ₩ɂȂĂB
u႟AdbƂ͂ǂȂ킯Hv
udb͂܂˂ȂccAĂƂ낾ȁv
uccv
@܂ł́uvƂ͓ĂׂȂ悤Ȃ̂Ayƍłꂢ
ܑꂽւƕςBiF傫ςẢɂ͑傫Ȑ΂
łA̒؂A𕢂ĂB
@̓͂Ȃ炩ȍ⓹ɂȂĂA͏ɘAĕL
Ao؂Ƃł͌̂悤ɍLXƂԂ܂ĂB
u˂ẢAHv
@Ă݂āArY͋CtBƂĂ傫ȉAr؂邱ƂȂ
킽ĂB
ủv
uccIHv
@L̑Ζʂɂ┧AL̐̑тĂB͍̐L
؂AĎR̒ւƏĂB̐z鋴̌ɁAb
WRe[Wƕ\̂̉Ƃ┧̊Ԃɂ͂ߍ܂ꂽ悤
ɌĂĂB
uAɂccv
u򂻂̂̂́Ȃ̗ɂ񂾂ǂˁBɂĂA܁AƂ
Aȁv
@Ȍ̋AƌĂ͂̂́A܂ꂽ犵e񂾂̊
Ɋ҂Ă΁Aߋ̋LĂBwLтA傫
zBA̂Cł荞ƂB
ߍ񂾂ƓfoĂAグB
@`̂͂ƂȂ_܂΂ɑ݂邾̐^ȁAB
A󂪌̂͐^ゾŁA͊┧͂݁Å┧̌ɂ
┧`ƂARN[gWOɎiB
uccǂA{݂ˁv
@ꐰƂ\]āA꒎ݒׂ悤ȕ\ŃP[u
Ƃ̒ւƓĂ̂𕑂͊mFB
uŁ[AdCʂĂ܂ɂ͗ȂƎvǂˁBer
dgē͂Ȃ񂾂v
uAer͌Ǝvccv
uHv
@q̎wł́Aq̃AeiւƌĂB
                                                              ()


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wccZAĒPɂ킯Ȃ́Hx
uȂƎvv
wzgɂHx
uZɊꂽA肭Ɋꂽg鎞Ԃłv
wAقƂ́[`Ԃł񂾁x
u܂tɌƁAɂȎłv
wʂɎԎgĂAXVłȂ킯ˁccx
http://www.kab-studio.com/
_______________________________________________________________[KCM]


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

@Version 10.17
Xe[^Xo[NbNI

úAXe[^Xo[NbNƂ̃bZ[W󂯎Ă
܂v
wccĈӖHx
u܂ȂBǂ炩ƂƁAOɎgyʒmbZ[Wz
K̕傫v
wʒmbZ[WāA Version 5.29 ( No.094 ) Ƃ 
Version 8.10 ( No.152 ) ƂɏoĂ̂ˁx
uARg[Ȃɂ삳ꂽɑĂ郁bZ[WBX
e[^Xo[̓Rg[̂ЂƂv
w悤ɒʒmbZ[WĂĂƂˁx
uƁBႠA܂͎Ă݂܂傤B̑ÕXe[^X
o[̂悤ɏCĂv

HWND g_hStetusBarWnd;
const int ID_STATUS_BAR = 5001;    // ܂ǉB

// EBhE܂B
LRESULT OnCreate
    ( HWND p_hWnd
    , WPARAM p_wParam
    , LPARAM p_lParam
    )
{
    // Xe[^Xo[܂B
    g_hStetusBarWnd = CreateStatusWindow
        ( WS_CHILD | WS_VISIBLE
        , "eXg"
        , p_hWnd
        , ID_STATUS_BAR    // CB
        );
    if( g_hStetusBarWnd == NULL )
    {
        // Xe[^Xo[܂łB
        return -1;
    }

    // R[h͂ĂȂĂłB

    return 0;
}

wقƂǕςȂˁx
u CreateStatusWindow() ̑Sɓn ID ʂɂˁB
悤ɁAXe[^Xo[̓Rg[̂ЂƂBĖ
BRg[ɂ͂ǂȂ̂Hv
wǂȂ̂āAςˁB{^ƂGfBbg{bNXƂx
uB̂ ID Ăłv
wI@ ID_STATUS_BAR ́AXe[^Xo[ĂRg[ 
ID ĂƂȂ񂾁x
uƁBA ID_STATUS_BAR ̒l͑̃Rg[
dȂȂ悤ɂˁv
wĂǂׂ́Hx
uj[́y\z|yV{uEUz̃_CAOŊmFł
BȂ݂ɁAŒlZbg邱Ƃłv
wǂƁHx
uÉyVK쐬z{^āA ID  ID_STATUS_BAR ɁAl
5001 ɂēo^΁v

const int ID_STATUS_BAR = 5001;    // ܂ǉB

u̍s͍폜ł邩v
wcc܂Hx
u܂A{^ƂɎg ID Aʂɉɂg킸 ID o^ł
ĂƁv
wAÂ܂܃Xe[^Xo[Ɏg킯ˁx
ũV{uEUȂ犄蓖ĂĂ ID mFĂo^ł
邩AƊԈႦēl邱ƂȂĈSv
wlt邱ƂĂł́Hx
uAV{uEUłʂɂł邩BƁAňAX
e[^Xo[̂ƁqIrR}hꏏɂȂāv
wAvႤx
uĂƂ蓾邩BāAx̓Xe[^Xo[NbN
̃bZ[W󂯎悤ɁAEBhEvV[WC܂v

// EBhEvV[WB
LRESULT CALLBACK WndProc
    ( HWND p_hWnd
    , UINT p_uiMessage
    , WPARAM p_wParam
    , LPARAM p_lParam
    )
{
    if( p_uiMessage == WM_CREATE )
    {
        return OnCreate( p_hWnd, p_wParam, p_lParam );
    }
    else if( p_uiMessage == WM_DESTROY )
    {
        return OnDestroy();
    }
    else if( p_uiMessage == WM_RBUTTONUP )
    {
        return OnRButtonUp( p_hWnd, p_wParam, p_lParam );
    }
    else if( p_uiMessage == WM_COMMAND )
    {
        if( LOWORD( p_wParam ) == ID_MENU_TEST )
        {
            return OnMenuTest( p_hWnd, p_wParam, p_lParam );
        }
    }
    else if( p_uiMessage == WM_NOTIFY )    // 牺ǉB
    {
        if( p_wParam == ID_STATUS_BAR )
        {
            NMHDR *pNmhdr = (NMHDR*)p_lParam;
            if( pNmhdr->code == NM_CLICK )
            {
                // NbN܂B
                OutputDebugString( "NbN܂B\n" );
                return 0;
            }
        }
    }

    // WIȏ܂B
    return DefWindowProc( p_hWnd, p_uiMessage, p_wParam, p_lParam );
}

wA WM_NOTIFY đOɏoĂˁx
uAꂪʒmbZ[WB Version 8.18 ( No.160 ) ł́A_C
AOvV[WŒʒmbZ[W󂯎Ă܂v

    else if( p_uiMessage == WM_NOTIFY )
    {
        if( p_wParam == IDC_TREE_MAIN )
        {
            NM_TREEVIEW* pstNmTreeView = (NM_TREEVIEW*)p_lParam;
            if( pstNmTreeView->hdr.code == TVN_SELCHANGED )
            {
                return OnSelchangedTreeMain( pstNmTreeView );
            }
        }
    }

w`͂Ȃ莗Ăˁx
uʒmbZ[Ŵ̂rƂ낭炢ȁAႢ́BꉞA
ƂЂƂĂB܂AʒmbZ[W󂯎Aǂ ID 
̃Rg[̃bZ[Wׂ܂v

        if( p_wParam == ID_STATUS_BAR )

wł́AXe[^Xo[̃Rg[oĂ̂ˁx
uƁB{^ƂȂ{^ ID BXe[^Xo[ȂX
e[^Xo[ ID ĂƁv
wŁcc͈Ⴄ񂾂ˁx

            NMHDR *pNmhdr = (NMHDR*)p_lParam;

uc[r[̎ LPARAM ɂ NM_TREEVIEW \̂̃|C^
Ă񂾂ǁA NM_CLICK ̎ NMHDR \̂̃|C^Ă邩
v
w NM_CLICK ĂĂ邩 NMHDR ɃLXgāccāA
ĕςII@āA NM_CLICK Ăĕ́A
LXgƂȂx
uA悭ˁB͂ƂłƐ邯ǁA\̂
Ƃł悤ɂȂĂłB NM_TREEVIEW ̒ǵv

[ NMHDR ][ UINT ][ TVITEM ][ TVITEM ][ POINT ]

uĊɓĂłB̍ŏ̏ NMHDR łv
wꂪƂǂȂ́Hx
uc[o[̒ʒmbZ[W LPARAM  NM_TREEVIEW ւ̃|C
^ĂƂĂA NMHDR ̃|C^ɕςĂ
ĂƁv
wHHHx
ucc͗TAƂv
wx
uĂƂ͂Ȃłv
w[x
ub߂āALXgAǂȒʒmbZ[WĂ
ׂ܂v

            if( pNmhdr->code == NM_CLICK )

w NM_CLICK ̓NbNꂽƂ́Hx
uBmɂ͉ENbNꂽɑĂʒmbZ[WB
̓Xe[^Xo[Ɍ炸ɂȃRg[瑗Ă邩v
wꂱA ID 𒲂ׂȂƂ܂킯ˁx
uƁBŁANbNĂv

                // NbN܂B
                OutputDebugString( "NbN܂B\n" );

ȕɓ܂v
w̓eXgpŁA񂾂炿Ɗ֐
ˁx
uB̏ꍇ̈͂ǂ邩ǁv
wA WPARAM  LPARAM ɂ邩A NMHDR ̃|C^ɂ邩A
ĂƂˁx
u̕ӂ͍D݂ɂ邩BAƂЂƂ⑫BAXe[^Xo[
ƂɁAÔɂ킯ĕ͏Ȃ܂v
w΂ˁx
uŁAǂq̂ǂNbNr͎擾łȂ݂
v
wAȂ񂾁x
u}EẌʒu擾āAłǂꂪNbNꂽׂ邵Ȃ
ˁv
wȂƂł́Hx
uJ[\ʒu擾 API ́Hv
w GetCursorPos() Ix
uƂɂ͍̃TCYn񂾂v
wA̔z̐ˁ[BAłႢx
uƁv

/*
    Preview Next Story!
*/
wς API ĕ֗Ȃˁx
u̕ӂ̓mEnE̕dvˁv
w܂J[\ʒum邽߂ API ́A݂ȁHx
uƁv
wł܂ł܂CȂȁ[x
û߂ɂ͊bƕ׋ȂƁv
wbˁ[x
uƂ킯Ŏv
 Version 10.18 \̂̍\ 
wɂÂIx
uƂ킯Ŋbwт܂傤Iv
whA̋Ȃ񂾂ǁccx


////////////////////////////////////////////////////////////////////
/*                QOORNRRij̍XV                  */
http://www.kab-studio.com/

ER\ǎ
@PAV\łB\GVӖ邵A낻
قƂ́[Ă̂ccB


////////////////////////////////////////////////////////////////////
/*                          ӁII                            */

Ẽ[ԐMȂłB
EӌE]Ez[`[ʂȓL]肨肭B
http://www.kab-studio.com/nikki2/
EwǓo^Ƃɂ͂̃y[WōsȂĂB
http://www.mag2.com/m/0000012198.htm
http://www.pubzine.com/detail.asp?id=000590
E͎ōsȂĂB
EobNio[͂̃y[Wɂ܂B
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
*/
////////////////////////////////////////////////////////////////////

