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

    KAB-studio.h


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

    MF 2002/12/23(Mon) No.187
    zMF 3440 ( Mag2 + Pubzine )
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine ( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

/*@@@@@@@@@@@͂x݂܂B@@@@@@@@@@@*/

@NNnƂƂŁA KAB-studio.h ͂PQROɂ͔zM܂
BzM͂PUɂȂ܂B䗹B

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

EقƂ́[ǉȂccB
@킯ȂłAOl̃zbgn[uǉł܂łcc
R͊͗NɎzłB߂ȂB


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

2002/12/15 (Sun)
@vXxoB JavaScript Ă܂B݃pTgR~PJ^O
wBx̃R~Pɂ͍s܂BTuobbcT[o[ɁB
ob`t@Ću{bNXIvŁBăNX}XƎГ TOEIC B
킢ƍD͈ႤˁBĕ\̌ĂǂH@ǂȁB

2002/12/16 (Mon)
@d͕R[hGōB`ghs̓voC_̂H
NUԂEPQB˂ĂX^[gBdZ
B

2002/12/17 (Tue)
@uEver17vh}bcB{҂ł͕sȔނ̂bBlIɂ͂
Bd͂ȂȂ͂ǂȂccBDHAłB

2002/12/18 (Wed)
@ServletRequest#getParameter()  &#nnnnn; ăR[hԂĂ
͂Ȃ[H@er ROBIN BNUԂERSB
˂ĂŏIɏd̃T[rXCAĉɁB

2002/12/19 (Thu)
@R[hB͔h̖YNBM{ňttB
ȂĂH@jrj̐lƂbB VS.NET academic  MSDN B
vtFbVił͂Ƃςbc|qnlĂ܂B
 .Net T[o[͔H

2002/12/20 (Fri)
@QĂȂBd͕R[h̖肪BՂNB
オĂ̖ʁXƖYNB݂ȕρijB̂܂܂ƋN
Ď̓̌ߌP܂ŁccB񂵂񂪖ʔBĂǂ̕ӂ
H

2002/12/21 (Sat)
@PDTԂBȂƂԃwb_[BNUԂE
TUB Kanon vCɃI[XgAsƔgp̂QB
͂܂́H


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

@Ź@A@|P|

ú`Av
@lwoāAq͎v킸nʂɂႪݍł܂BdԂ
płAꂾłĂBrYǂɊ
|Bグ΁AX܂΂䂩B
u܂ĂȂv
u`HH@ȂɁH@ꂩǂ̂炢́Hv
@Ɖ́AxʂĂoHƂ̂ƉוyƂƂ
āA܂ƌĂقǔĂȂB
u͂Ŕ܂邩BoāA[Oɒ΂
ȁv
uĂȁAĂv
u܂āccɂIHv
@mɂ͗قɌBAOSNÔ̂ƌĂMĂ
܂Ȃقǂ̂ڂ낳BO΂߂؁X͍Aւd
ЂƂŏƂ炳ĂB
uɎOLsƂɁAƂh邯ǂȁv
ułAĈ񂾂ˁ[B͊Ă邩AŔ܂邯
ǁHv
uAl܂v
@rYɁAq͓B񂽂ȂƌA
ǂ΂̂ccA񂽂͂Ȃ낤ǂB
uǂH@Ns񂾂AtĂĂv
@̔ɁAOl͂ꂼ̋B
uǂ́H@ȃT[rX_ӂāv
uA܏\ĂĂ炳AґȂĂȁv
uȂ́A̎RŖɗȂłccv
@CȐlԂɂȂ肽ȂďrY͖قĂAbL[Ƃ͎vĂ
B
uAs܂Iv
uhv
ułAґāHv
uꔑQǁv
uccAłłv
@q̓w{ق̕ւƂڂƂڂƕĂB
uAɔ܂ĂāAPłǂ
́Hv
uɂHv
@wɂ͏rYB
uႤāI@قA̓zB̒҂ĂlƂAkvƂ
̂Ƃv
u䍁邩ȁv
uAccv
@ƁAfɔ[Ă܂A͕svcɊĂB
                                                              ()


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wāANŌ̔zMȂ񂾂ˁx
uAv
wA悢N`x
uꂾIv
wPP̐ꒅpA҂ĂĂˁ`x
http://www.kab-studio.com/
_______________________________________________________________[KCM]


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

@Version 10.09
j[ӂ

u Version 9.06 ( No.167 ) ŏЉj[̏Ă݂
v
w[ MFC łłƂĂƂˁx
uA̃p^[ǁv
w MFC  SDK łĂƂˁBŁcc̓j[ȂA܂j[
ȂႢȂ񂾂ˁx
uƂ킯 Version 8.06 ( No.148 ) ȂA܂̓\[X
܂v
w[ƁA܂y\[XXNvgzĂƁBt@C 
SimpleWindow.rc Ɓx
uŁAENbNŁy}zI Menu VK쐬v
wققBAȂj[oėx
u܂̃j[ ID ǁv
w MFC ̎ IDR_MAINFRAME ȂႢȂ񂾂ˁx
uł SDK ̎͂̊֌WȂA IDM_MAIN łȁv
wĂǂĕς́Hx
uj[o[̏ŉENbNv
wAŃvpeBo΂񂾂ˁBAςx
u̓eXgp̃j[pӂ܂Bj[̂̂ɂĂ 
Version 9.02 ( No.163 ) QƂĂ炤ƂāB܂j[o[̍
̂Tuj[ɂĂẲ̍ŏ̃ACev
w̎ƓɂƁB ID  ID_MENU_TEST ALvV
yeXg(&T)zAvvǵqeXgrƁx
uƂ肠ŃrhĎsĂ݂āv
wقBccj[oȂłǁ`x
uAj[͎ł͏oȂłBvO̕C
ƕ\ȂB܂A SimpleDialog ̎Ɠ悤Ɂv

#include <stdio.h>
#include <Windows.h>

// ̂ǉB
#include "resource.h"

uĊ resource.h CN[hĂ炢܂v
wƂ resource.h ĂȂăt@CȂ́Hx
u܂BɁAEBhEƂɕ\郁j[w肵
v

// EBhE܂B
bool CreateAndShowWnd
    ( const char *const p_pchWndClassName
    , HINSTANCE p_hInstance
    , int p_iCmdShow
    )
{
    // EBhE܂B
    HWND hWnd = CreateWindow
        ( p_pchWndClassName
        , "eXg"
        , WS_OVERLAPPEDWINDOW
        , CW_USEDEFAULT
        , 0
        , CW_USEDEFAULT
        , 0
        , NULL
        , LoadMenu( p_hInstance, MAKEINTRESOURCE( IDM_MAIN ) )
        , p_hInstance
        , NULL 
        );

    if( hWnd == NULL )
    {
        // EBhE̍쐬Ɏs܂B
        return false;
    }

    // EBhE\܂B
    ShowWindow( hWnd, p_iCmdShow );
    UpdateWindow( hWnd );
    return true;
}

uj[ CreateWindow() ̍ŌォRԖڂ̈Ŏw肵܂v
w LoadMenu()  LoadIcon() Ƃ LoadString() Ȃ񂩂Ɠ́Hx
uA\[X烁j[Ăăj[̃nhA܂ 
HMENU ƂĕԂĂ܂v
w MAKEINTRESOURCE() ́A߂ĂȂˁx
u Version 8.07 ( No.149 ) ƂŏoĂĂˁB API  LoadMenu() 
̂̊֐炻̂܂܃\[X ID nȂāA MAKEINTRESOURCE 
xnĂ̖߂lgȂႢȂłv
wǁAẮH@x
u̓}NB WinUser.h  MAKEINTRESOURCE Aۂɂ 
MAKEINTRESOURCEA 邩猩Ă݂āv
wccH@Ȃ񂩃JbR LPSTR ƂƂFXccx
u܁A悤ɃLXgĂ邾v
wAꂾȂ񂾁x
u LoadMenu() ̋@\͕̂ʂɃ\[X ID 󂯎悤ɂȂ
񂾂ǁÂ̂ LPSTR Ȃ񂾂ˁv
wLXgācc܂ĂĂƁHx
u܁AƁBႠv
wAĂȂˁBrhĎsI@[Aƃj[\
ꂽIx
uƂ킯ŁAj[̕\͂܂ŁB́Aj[I
̃bZ[W󂯎悤ɂ܂v
wĂ[̖{Ȃ񂾂ˁx
uȂ񂾂ǁcc͂ȒPBEBhEvV[Ŵ悤ɏC
ā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_COMMAND )
    {
        if( LOWORD( p_wParam ) == ID_MENU_TEST )
        {
            // ID_MENU_TEST j[B
            PostQuitMessage( 0 );
            return 0;
        }
    }

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

w WM_DESTROY ͑ÔˁB WM_COMMAND ̂ccHx
uołB Version 8.09 ( No.151 ) ŁA_CAÕ{^
ꂽƂ̏łA̎̃_CAOvV[Ẃv

// _CAOvV[WB
BOOL CALLBACK DialogProc
    ( HWND p_hDlgWnd
    , UINT p_uiMessage
    , WPARAM p_wParam
    , LPARAM p_lParam
    )
{
    if( p_uiMessage == WM_COMMAND )
    {
        if( LOWORD( p_wParam ) == IDOK )
        {
            // OK {^܂B
            EndDialog( p_hDlgWnd, IDOK );
            return TRUE;
        }
    }

    return FALSE;
}

wAقƂǓIx
u܂Aj[{^AR}h ID n̏ĂƁv
wǂAꂽ WM_COMMAND ĂāA WPARAM ̒ɉ
ꂽ̂ ID ĂcczgɊȒPˁ[x
uĂ΂ꂽ̏ WM_DESTROY ̂Ɠvˁv
wArhĎsI@zgAj[IԂƂƏIx
u̕ӂ̎dg݂͋ʂv
wʁIx
uIH@ȁAȂɁHv
w Version 9.11 ( No.172 ) ŌǁAj[ANZ[^[
c[o[dg݁AĂƂ̓{^IIx
uƁA̕ӂ͑S WM_COMMAND n̏łł킯
BƂ΁A_CAOɂj[ĕt邱Ƃł邩v
wj[ƃ{^𓯂 ID ɂ΁AǂłIx
uƁBdg݂Ăς MFC ᕪȂ
ˁv
wmɁAӂ WM_COMMAND EĂ݂ȂƂ킩Ȃ
x
uЂƂtƁcc Version 9.06 ( No.167 ) Łv
wI@̂ƂAj[ WM_COMMAND ČĂIx
úAt̎킯v
wtHx
uĂ̂ƂAƂ̃Cxgnhɂ COMMAND 
I΂ȂႢȂāAȂᕪȂłv
wAǁx
ułA SDK ŃvOg񂾂ƂAj[ 
WM_COMMAND ĂĒmĂ邩v
wAȂ COMMAND ĕccI@ĂƂ͂
āA SDK ōlĂƁIHx
uƁB SDK ōƂ̂lAbZ[WɂĂ
ƒmĂlĂƂˁv
wCxgnhbZ[WőIł˂B ClassWizard 
gĂČĂASȏSҌĂ킯Ȃ񂾁x
uŏɏo VC1.0 Ƃ͂[U[͑z肵ĂȂ낤
ˁv
wǂ䂱ƁHx
u܂ł SDK ō̂ʂv
wނ냁bZ[W֌WmȂl VC gȂĂȂ񂾁x
u VC1.0 Ƃ SDK ō̂ςĂƂł Wizard  
MFC 񋟂Ėʂ邩ˁv
wcc͂[[jImĂȂႢȂ́Hx
uccہA̋ƊE̗jĒmĂȂƍ邩ccv

/*
    Preview Next Story!
*/
wvO~Oɗj̕׋KvȂā`x
u͕׋KvȂƂȂāA񂪏ȂƂv
wH@ȂĂłȂē]Ăǁx
u]ĂĂȂႵ傤Ȃłv
wႻǁx
uvO~Ȍ̓mEnEĕ͉Ȃ̂v
ŵ͒TĂȂ킯ˁx
uƂ킯Ŏv
 Version 10.10 ANZ[^[ӂ 
wɂÂIx
uA}Ci[ȏv
wӂɂƋĂĂ킯ˁ[x


////////////////////////////////////////////////////////////////////
/*     QOOQNPQROij`QOORNPRij     */
http://www.kab-studio.com/

@KAB-studio ̔NNn̗\ɂĂm点܂B
EKAB-studio.h FPQRO̔zM͂x݂܂B
@̔zM͂PUɂȂ܂B
E\ǎFPPɂP\ǎɍXV܂B
E储ʂȓLFꉞx܂Ȃ\łB
EOl̃zbgn[uF̒ǉ͂PU\肵Ă܂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
*/
////////////////////////////////////////////////////////////////////

