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

    KAB-studio.h


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

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

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

ER\ǎI
@R\ǎ͂ȂƂقƂ́[I@cc蔲ƂȂŁijB
_E[hCG GalleryɂāB
[CG Gallery]
http://www.kab-studio.com/CG/Gallery/


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

2003/03/02 (Sun)
@Ȃ薰BߑO͐󂵂Bߌ͒܂ĂR~bNX
B_[}ObOBi[WPbA܂ĂK_rddc
B PHS obNAbvBĖ{B

2003/03/03 (Mon)
@ Java R[fBOBt@CRs[p API ȂH@ŏI[X
xďyɁB̕\ǎ͂قƂ́[ɌB

2003/03/04 (Tue)
@Java fobOBRNṼ\[g STL ۂB C++ ̕
AƌĂBŋ߂̓_CGbĝ߂ɋSB WOLF'S RAIN 
D񕷂ԈႦccB

2003/03/05 (Wed)
@ŏI[XOłĂĂ܂B Struts ֗Bꂪ
ǂȂɊyccB

2003/03/06 (Thu)
@PǋCtȂႢȂR[fBOB񂲂ʔ
oOB CLANNAD Ă܂Ȃ̂ˁB CG WORLD ŃR}̕׋B 
Struts BȂ֗ȂBăUEXBzoB

2003/03/07 (Fri)
@W̒VBЂтɓOQ[ŃfhABɖB
̓oOBłyjdccB

2003/03/08 (Sat)
@QW܂łdBN̑B Bean ł܂Ǘł
ȂBAĂ͂Ȃ薰BɖZB


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

@Ź@A@|PP|

@łƁA_B
@ߓ̂悤ɋȓAB┧̋ʂ̒ɁA
BOĚ݂͌̂A̖ȋԂƂ炵o
ɂ͏\ł͂ȂB
@Ƃ͕ʂ̖B̒ɂAЂƂ˂o傫Ȋ́A
Ńe[û悤ɂȂĂB̏ɒuꂽ낤̖肪
͂̂킸Ȕ͈͂Ƃ炵oĂB┧ƐʁA낤ׂ̗ɒu
ꂽ̈߁Aɗ̂𕂂ׂ镑B
@͕̊ĂBAĂ͂ȂBقǂ܂ł̃oJ
voāA΂ށBȂƁA܂ł͑ȂB
ccB
@VbNĕ͑̂NBRƊ炪ԂłB
uII@ȂłIIv
uIH@ȂŔ񂾂v
ũ͎eg[Ȃ̂Â炢ȂĂǂ̂v
@̊┧ɑ̂BAł낤ɂݕtBA
lĂ̂AɁAH׉߂łȂoĂ
ccāAȂƍlĂ傤ȂǂB
uvāA̋ችɂ˂āB܁A䍁Ȃ猩邯
ǂȁv
u痈邱ƂȂłBقAAAv
uccȂAƗp邩痈񂾁I@܂̌Z񂪏P
ꂽƂIv
uccZ񂪁IHv
@v킸̂L΂B
uւA܂ċ񂾂ȁv
uccقHv
@wƏւƏグ΁A̒狐ȐꂽB͉
ȂւƏPB
u܁A܂܂AE\ČĂȂĕ䍁ȂāIv
@͎w~߁A͉̖ڂ̑OōdB
uccŁAZ͂ǂ̂v
uVlB@mĂAȂƂAȁBVl͍
\肾݂ŁAUXڂ₢ĂccȁAǂĂv
uӂv
@ςƎw点΁A͂̐̉ɕςBR͐U
߂ɂB
u`Aтʂꂾv
uv
u܁AGꂿ񂾂炱̂܂܉jōsĂςȂv
uĂ݂΂H@̓ςł傤ǂ˂v
@ȌyA݂̎pȂ܂܁AĂB
                                                              ()


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wccĂOꂿ́Hx
uAȂƂ͂ȂƎvǁccv
włƖOx
uĂHv
w}Koȁ[x
u͓߂ccv
wIx
u͂v
http://www.kab-studio.com/
_______________________________________________________________[KCM]


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

@Version 10.19
c[o[Ă݂悤

uāA SDK Ńc[o[Ă݂܂v
wXe[^Xo[ƓĊˁx
uA͂ MFC ̂̂Ƃ͂Ă邩v
wȂ񂾁x
uƂA MFC ̕₱ƂĂۂccB܁AƂ
Ă݂悤B܂̓\[XɃc[o[}܂v
wA MFC ̎čŏ炠ˁx
u܂[NXy[XŃ\[X\āySimpleWindow \[Xz
ENbNāy}z IŁv
w_CAOoByToolbarzIׂ΂񂾂ˁx
uAƃc[o[łƎvv
w ID Ƃ͂ǂ́Hx
u܂A{^ӂɂāA͐ԂŁAE͐œhׂāv
wقB̕ӂ Version 9.11 ( No.172 ) QƂɂĂƁB ID ́Hx
u͕ʂ̏ꏊŎw肷邩炱ł͎w肵ȂĂBɁA
c[o[̂̂ ID  IDR_TOOLBAR_MAIN ɂāv
wقBāAc[o[̂̂ ID Ăǂς́Hx
u[NXy[X IDR_TOOLBAR1 ̏ŉENbNŃvpeBv
wAzgBđOɂȂ񂩂ŕ˂ccx
u̕ӂ͂ǂ̃\[XˁBŁAł܂mFė~
́ÃvpeB̉Ev
wԂƐˁx
uāA{^Ƃ͈Ⴄłv
wAzgB{^̌`ĂȂAԂƐ̊Ԃl܂Ă邵x
uɁyt@CzĂłv
w toolbar1.bmp ĂBrbg}bvt@CHx
uÃrbg}bvɂ̐ԂƐ̊G`ĂĂƂłv
wققBꂪŏdvɂȂ́Hx
udvɂȂłBႠāAx͐Ԃłł{
^_uNbNāv
wقA{^̃vpeBox
u悤 ID ͂ł͎w肵ȂBŁAŏdvȂ
͕ƍv
w 16  15 ˁx
ũ{^̃}XڂA 16 hbgAc 15 hbgĂƁB
Ƃ́Ãrbg}bṽTCÝHv
wA[ƁAԂl܂ĂA 32 hbgAc 15 hbg
ĂƂˁx
uƁBꂪƂŏdvɂȂ邩BāA̓vO
B܂ OnMenuTest() Cāv

// ID_MENU_TEST I܂B
LRESULT OnMenuTest
    ( HWND p_hWnd
    , WPARAM p_wParam
    , LPARAM p_lParam
    )
{
    TRACE( "OnMenuTest()\n" );
    return 0;
}

wAVvɁx
uXe[^Xo[̃eXg̎͐FXĂǁA͂̃R}h
sꂽƂ΂BAEBhEvV[W
̓Xe[^Xo[̒ʒmbZ[W̕菜܂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 );
        }
    }

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

wŌ̕ if ȂȂˁx
uŌɖ{B OnCreate() ̕ςĂv

// EBhE܂B
LRESULT OnCreate
    ( HWND p_hWnd
    , WPARAM p_wParam
    , LPARAM p_lParam
    )
{
    const int TOOLBAR_BUTTON_NUM = 2;
    TBBUTTON pstTbButton[TOOLBAR_BUTTON_NUM]; 
    // ЂƂ߂̃{^̃f[^ZbgB
    pstTbButton[0].iBitmap = 0;
    pstTbButton[0].idCommand = ID_MENU_TEST;
    pstTbButton[0].fsState = TBSTATE_ENABLED;
    pstTbButton[0].fsStyle = TBSTYLE_BUTTON;
    pstTbButton[0].dwData = 0;
    pstTbButton[0].iString = 0;

    // ӂ߂̃{^̃f[^ZbgB
    pstTbButton[1].iBitmap = 1;
    pstTbButton[1].idCommand = 0;
    pstTbButton[1].fsState = TBSTATE_ENABLED;
    pstTbButton[1].fsStyle = TBSTYLE_BUTTON;
    pstTbButton[1].dwData = 0;
    pstTbButton[1].iString = 0;

    // c[o[܂B
    HWND hToolBarWnd = CreateToolbarEx
        ( p_hWnd 
        , WS_CHILD | WS_VISIBLE
        , 100
        , TOOLBAR_BUTTON_NUM
        , GetModuleHandle( NULL )
        , IDR_TOOLBAR_MAIN 
        , pstTbButton, TOOLBAR_BUTTON_NUM
        , 0, 0 
        , 16, 15 
        , sizeof( TBBUTTON )
        );
    if( hToolBarWnd == NULL )
    {
        // c[o[܂łB
        return -1;
    }

    return 0;
}

w悤ȒȂ悤ȁx
uԂ񌩂ڂ͒ȂƎvB܂Ac[o[̃{^̏
 TBBUTTON Ƃ\̂̔zɓ܂Bꂪv

    const int TOOLBAR_BUTTON_NUM = 2;
    TBBUTTON pstTbButton[TOOLBAR_BUTTON_NUM]; 

u 2 Ȃ̂̓{^̐QBŁA̔ẑЂƂЂƂɒl
܂v

    pstTbButton[0].iBitmap = 0;
    pstTbButton[0].idCommand = ID_MENU_TEST;
    pstTbButton[0].fsState = TBSTATE_ENABLED;
    pstTbButton[0].fsStyle = TBSTYLE_BUTTON;
    pstTbButton[0].dwData = 0;
    pstTbButton[0].iString = 0;

u TBBUTTON::iBitmap ̓{^̉Ԗڂ̃{^B 
TBBUTTON::idCommand ̓{^ꂽƂɑ ID v
wAŎw肵Ă邩炳̂͗vȂ񂾂ˁx
uƁBƂ̂̓pXv
wpXHx
u͂ǂ̃{^łővv
w΁Aӂ߂̃{^ˁx
u{^ɕς̂ TBBUTTON::iBitmap  TBBUTTON::idCommand 
ƂˁBŁÂƃc[o[܂B̒łdvȂ̂
sbNAbv܂B܂Rv

        , 100

u̓c[o[̂̂ ID v
wH@ IDR_TOOLBAR_MAIN Ȃ́Hx
uAႤłB CreateStatusWindow() ̑SƓ悤
Ȋv
wc[o[̑ƂɎgcĉ͕񂾂ǁAȂ 
IDR_TOOLBAR_MAIN Ȃ́Hx
u IDR_TOOLBAR_MAIN ̓c[o[ȂāArbg}bv ID Ȃ
BACR ID ɋ߂v
wACRA˂ccx
uꂪdvȂ̂Av

        , 16, 15 

w 16  15 ccA{^̃TCYx
úA CreateStatusWindow()  IDR_TOOLBAR_MAIN rbg}bv 
16 hbg؂蔲ă{^ɓ\tĂłv
w؂蔲HHx
u܂AƁv

E{^ꂼ̏i ID Ƃj : pstTbButton
E{^ɓ\tG : IDR_TOOLBAR_MAIN

uƂӂɖĂłv
wccȂ񂩁Ac[o[\[ẌӖẮHx
u܂ȂBꂱ MFC Ƃ̈Ԃ̈Ⴂv

/*
    Preview Next Story!
*/
wc[o[͂Ȃ MFC ƈႤˁx
uc[o[̏ꍇA MFC Ƃ̔r͂܂׋ɂȂȂv
wȂŁHx
u{ɍ肪Ⴄv
wccȂA MFC ̎̕dg݂킩ĂȂƂȂ񂶂ȂHx
u͂ɂȂ悩v
w܂͉̂̂ˁccx
uƂ킯Ŏv
 Version 10.20 SDK ōeLXgGfB^ǂ 
wɂÂIx
ũeLXgGfB^ǂ̉ SDK ҂͍Ōłv
wˁ[x
uł Version 11 ͂ɒ񂾂ǂˁv
whx


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

EقƂ́[ǉH
@R͏]ToĂƎvłԂvƁBԂB


////////////////////////////////////////////////////////////////////
/*                          Ӂ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
*/
////////////////////////////////////////////////////////////////////

