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

    KAB-studio.h


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

    MF 2002/11/25(Mon) No.184
    zMF 3490 ( Mag2 + Pubzine )
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine ( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

ET͂x݁B
@T[o[e̊֌WŁAT͔̍zM܂B
@zM͂PQXƂȂ܂BL͂̍ɂQTڂ邱ƂɂȂ
܂B䗹B

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

EقƂ́[PbǉB
@Ol̃zbgn[uɂPbǉ܂Bccŋ߂[[l^ɕ΂
Hij
[ Ol̃zbgn[u ]
http://www.kab-studio.com/Comic/HotHerb/


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

2002/11/17 (Sun)
@L܂BՂƂ폑͂񂾂ǁB}KƂɂȂ邽
΂܂BӂƃgRcBu΃IGAogvB͕ς
ȂccB\菤iĂǂȂł傤BĂobŃWIB

2002/11/18 (Mon)
@vWFNgsɑĂĂĂĂ܂Bjɑ点VXe
eXgƂB֎q`FbNBJ_[`FbNBeŕuKCiv
̂ՂՂ胆[VBB

2002/11/19 (Tue)
@sȂ񂩍[ccBʃvWFNg̃eXgʓ|B
u[WF_[݂炸BueqvB|PŐ߁BhLX
łPWփQ[oӖāH

2002/11/20 (Wed)
@u[WF_[EUEEHA[A񂾂񂾂킩B
d͈ӊOƂȂƁBGNZ}NBu SQL*Plus vB
́B̓OƂ̗\B

2002/11/21 (Thu)
iOƂ̂߂x݁j

2002/11/22 (Fri)
@RWDTԋNςȂBcƂĂ^f[^Z^[ɂēO
ŃVXev[XB蔭B͂ĂɁccBււHłV
BmN@}EXBPVOO~̃J[ɖB܂NĂ
ꂻBăVGyBAƃ[g͕K{B

2002/11/23 (Sat)
@QĂԂɃobNAbvccĂȂBobNAbvĂ烊u
bgCɁB|Pf`͌\H@T̂x݂̗\B


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

@܏́@ω@|PQ|

@wOA[^[̒[ɔo߂ĂBԂ̑Oɂ͘Zl̐l
eBAAVlAmArYAꂼ̕\𕂂
ׂĂB
uAȂƂȂv
uǂN{Ƃ͎vȂv
@̏ȃobOɂ͌ܖ{̓邾̃Xy[X͂ȂAɓ
ꂽ܂܌ɂłB
ȕ͂ŁHv
uʂ̐nA܂Ő؂ȂĒmȂv
@Vl̂Ǝc鏝ȂAm͊QĂBāA
ɐq˂B
u̓A͂ȂƂ񂾂Hv
uāA@ƂƂÁHv
ǔܖ{́A{yiǂ͂jČĂłǂȁccH@Ⴂ
ȁv
@䍁̃ACfBA𒮂āA͌B
uAiقނȂjv
uȂAƂ͕̂łƂӖHv
uB𕏂łAӖv
uӁ`B͂񂾂ǁcc{ɁÁHv
@rY̘eɁA傫ȓoRpUbNuĂB
uBl͂܂AoȂv
u͂ꂵ񂾂ǁccv
@̉ו́AɏȂB
uāA񂩂ȂRɂƂĂłHv
uႻǁcc̐ĺAƂȂłˁv
úAwIĂsBAނȁv
@͊ȕ݂𕑂ɓnB
uv
uނɍsĂ̂y݁A炵v
uςȂ́BccVĺAȂ񂾂ˁv
uB͒IɃeiX󂯂ȂႢȂB̓cɂČ
Ă݂ǁv
u`oɂ͖ʂȃ_[W𕉂Ă炢ȂˁB܁Ã_[
WɌ񂾂炢ǁA͍sċAĂ邾
łԂ|邩Ȃv
@{͍sȂê悤ɁAm͐B
uE\BwRv^[gΊyɍs邭Ɂv
uɂ̎̓wł߂ÂȂ悤ȏꏊȂ񂾂BVl
ȂƂsĂ݂AǂȂƂɐ΂ꂿႤv
uȃhWȂ́v
uccāAsƂ邩v
@וAƏrY͂قǏCł͂ȂB
uӂAȂˁccv
uccv
@݂ȂAbĂ̂߂ƂCtB
ubẮHv
uAÂӂ肪܂܂ŗĂ񂾂ǁccuĂ
Hv
uHv
uāA܂ccv
                                                              ()


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wcĉdƂ̂́AO͑ł傤Hx
ułBŋ߂́qNxrv
w钆̂ɂȂƂȂAĂƂȂ񂾁x
u钆AxAv
wA͂₾ˁx
uڋqT[rXƁqx݂ɂ͂ȂrČ邵v
włAăvO}[̎dȂ́Hx
û͂rd̎dȂ񂾂ǁA͋ڂȂ悤Ȃ̂v
wvO}[rdHx
uȊBl炵̕ɂ邩A܂ŋ߂񂾂ˁv
wȂ񂩂Ȋˁ[x
u܁AƎɔׂƎd̗ʂȂ肠邩v
wHς邱Ƃ͂ȂAƁHx
uꂪKǂ͐lꂼȂ񂾂낤ǂˁccv
http://www.kab-studio.com/
_______________________________________________________________[KCM]


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

@Version 10.06
L[̓bZ[W̒u

u̓L[̓bZ[WɂČĂ܂v
wL[́AđOɂˁx
uA Version 9.17 ( No.178 ) ŏoĂAWM_KEYDOWN  
WM_KEYUP A WM_CHAR ɂĂ̘bv
wAʂ̕ WM_CHAR ł񂾂ǁAꂾƃJ[\L[
Ƃ͑ĂȂAĘbˁx
utɁA WM_KEYDOWN  WM_KEYUP Ƒ啶ʂłȂAƂ
ˁv
wAȊx
uŁÂƂq MFC ̋@\rČłv
wccĂƂ́A SDK ƎłȂႢȂĂ
ƁIHx
uƁBƂ킯ŁA܂͂̃R[hĂ݂āv

// EBhEvV[WB
LRESULT CALLBACK WndProc
    ( HWND p_hWnd
    , UINT p_uiMessage
    , WPARAM p_wParam
    , LPARAM p_lParam
    )
{
    if( p_uiMessage == WM_DESTROY )
    {
        // ~{^܂B
        PostQuitMessage( 0 );
        return 0;
    }
    else if( p_uiMessage == WM_KEYDOWN )
    {
        // L[܂B
        OutputDebugString( "WM_KEYDOWN\n" );
    }
    else if( p_uiMessage == WM_KEYUP )
    {
        // L[܂B
        OutputDebugString( "WM_KEYUP\n" );
    }
    else if( p_uiMessage == WM_CHAR )
    {
        // ͂܂B
        OutputDebugString( "WM_CHAR\n" );
    }

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

urhĎsĂAL[͂Ă݂āv
wقBAȊɂȂx

WM_KEYDOWN
WM_CHAR
WM_KEYUP

wL[ WM_KEYDOWN ĂāA WM_CHAR 
āAŌɃL[ WM_KEYUP Ă񂾂ˁBAłA
J[\L[ƂƁx

WM_KEYDOWN
WM_KEYUP

wĂȂˁBȂ炾ˁx
uƁB܂AL[ꂽƂɂ͕K WM_KEYDOWN  
WM_KEYUP ĂāAꂪȂv
w WM_CHAR ĂAĂƂȂ񂾁x
uƁBAȂ݂ WM_KEYDOWN  WM_KEYUP ͕KyA
Ă킯Ȃv
wAȂ́Hx
uL[ςȂɂĂ݂āv
wςȂccA WM_KEYDOWN  WM_CHAR ςoĂx
uL[s[g̎ɂ WM_KEYDOWN  WM_CHAR ĂāA 
WM_KEYUP ͑ĂȂv
wmɃL[͏グĂȂ̂ˁx
uāBb߂āA WM_CHAR Ă镔ɂāv
wAĎłȂႢȂČĂˁx
ułA͑ĂĂˁv
wAĂƂ́A@\͓ĂĎHx
uƁB͂̕v

// bZ[W[vB
int MessageLoop()
{
// 
        // bZ[Wϊ܂B
        TranslateMessage( &stMsg );
// 
}

w TranslateMessage() Ċ֐Hx
uAꂪ WM_CHAR Ăłv
wccĂHx
uƂ肠RgAEgĎĂ݂āv
wقBrhĎsccI@zgA WM_CHAR Ă
IIx
u TranslateMessage()  WM_KEYDOWN ϊ API BϊĂ
Ƃ͂ƈႤȂǂˁv
w WM_KEYDOWN ͎cĂłHx
uAƃEBhEvV[WɑĂĂ邩ˁB 
TranslateMessage() ́A WM_KEYDOWN ĂƁA܂̃L[
ʂ̕ɂȂ邩ǂׂ܂v
wʂ̃L[ȂAJ[\L[ƂƖ킯ˁx
uBtɕʂ̕A𕶎ɕϊăbZ[WL[
 WM_CHAR Ƃđ܂v
wHx
u畁ʂɊ֐甲āA DispatchMessage() ɈڂāA
Ƃ̓EBhEvV[WցBA[Ɓv
wHx
u͎ۂɌĂȁB̃R[hĂ݂āv

// bZ[W[vB
int MessageLoop()
{
    BOOL bRes;
    MSG stMsg;

    // bZ[W[vłB
    while( 1 )
    {
        // bZ[WL[o܂B
        bRes = GetMessage( &stMsg, NULL, 0, 0 );
        if    ( 
                ( bRes == 0 )
            || 
                ( bRes == -1 )
            )
        {
            // ÎŃ[v甲܂B
            break;
        }

        if( stMsg.message == WM_KEYDOWN )
        {
            // L[܂B
            OutputDebugString( "WM_KEYDOWN in MessageLoop\n" );
        }
        else if( stMsg.message == WM_KEYUP )
        {
            // L[܂B
            OutputDebugString( "WM_KEYUP in MessageLoop\n" );
        }
        else if( stMsg.message == WM_CHAR )
        {
            // ͂܂B
            OutputDebugString( "WM_CHAR in MessageLoop\n" );
        }

        // bZ[Wϊ܂B
        TranslateMessage( &stMsg );
        // EBhEvV[Wɑ܂B
        DispatchMessage( &stMsg );
    }

    return stMsg.wParam;
}

ŵɎĂccx
uEBhEvV[W̒łĂ̂bZ[W[v̒ł
邾ˁBȂ݂ɃbZ[W MSG \̂ message ăo
ϐɓĂ̂ł𒲂ׂĂ܂v
wŁArhĎsccx

WM_KEYDOWN in MessageLoop
WM_KEYDOWN
WM_CHAR in MessageLoop
WM_CHAR
WM_KEYUP in MessageLoop
WM_KEYUP

uqin MessageLooprĕtĂ̂bZ[W[v́AtĂȂ
EBhEvV[Ŵv
wĂƂ WM_KEYDOWN  WM_CHAR ɕϊĂA͒uƂ
̂܂ WM_KEYDOWN EBhEvV[Wɑė񂾁x
uƁB TranslateMessage()  WM_CHAR bZ[WL[
邾BAbZ[WL[̒ǵA܂v

WM_KEYDOWN

uĂȂĂāA GetMessage() ŎoƃbZ[WL[̒
͋ɂȂ܂BŁA WM_KEYDOWN  TranslateMessage() ɓnƁv

WM_CHAR

uƁAbZ[WL[ WM_CHAR ܂v
wł̎͂܂ WM_KEYDOWN ̏ĂƂˁx
uƁB WM_KEYDOWN ̏IāAbZ[W[v̎
 GetMessage()  WM_CHAR o܂v
wӁAGcc̑O WM_DESTROY ƂGǁAccx
umɁq܂ȂrƂĉl TranslateMessage() 
񂾂ǁAdg݂ɂȂĂĂƂ͉Ăāv

/*
    Preview Next Story!
*/
wȂƂȂAbZ[W[v̎dg݂Ăx
uȂƂȂłAC[W͎ĂĂˁv
wȂƂȂł́Hx
û͂ˁB̂͂ƉĂė~ǁv
wققx
uƂ킯Ŏv
 Version 10.07 bZ[W҂I 
wɂÂIx
u͏dvI@[U[点Ȃ߂ɂ良āIv
wAȂ񂩋vXɂ̏oĂIx


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

Ex݂܂B
@PQPߑOW`QߑOW܂ł̊ԃT[o[eiXs
邽߁Az[y[W̉{sȂȂ܂B̂߁A̓̍X
V͂܂BPQ\ǎ͂PQXɌfڂ܂B
@܂Aɔ KAB-studio.h ̔zMx݂܂B̔zM͂PQ
XƂȂ܂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 - 2002 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com
*/
////////////////////////////////////////////////////////////////////

