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

    KAB-studio.h


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

    MF 2002/10/28(Mon) No.180
    zMF 3590 ( Mag2 + Pubzine )
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine ( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

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

EقƂ́[PbǉB
@Ol̃zbgn[uɂPbǉBp`B
[ Ol̃zbgn[u ]
http://www.kab-studio.com/Comic/HotHerb/

E KAB-studio.h kōXVB
@PWOɂȂ̂ KAB-studio.h ̏kłXV܂B_E[
h̓_E[h[ɂāB
[ _E[h[ ]
http://www.kab-studio.com/Freeware/index.html#MailMagazine


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

2002/10/20 (Sun)
@ZLAhBߑOBߌ̕yB܂ȃJ[Ƃ
J[pBm[̋LƁuQ[XgvBՂ͋NB

2002/10/21 (Mon)
@d̓eXgSBߑ߂ɁBu_rOvB݃pɃVbN
ʔBӂ܂ccB

2002/10/22 (Tue)
@d͂[ƃeXgBujbgeXgvłȂB Kanon OVA 
UBAĂ͒܂ĂrfIBȂ񂩍̃NccB

2002/10/23 (Wed)
@݃pTڂ݂̂͂łijBȓlꂽ
ȂBd͂ƖBuOvWFNgvB邾B
鎞ԂȂB

2002/10/24 (Thu)
@ߑO̓eXgAߌ͋qցBɖ肪ijBu˂Ăv
ꂪƂ肠ŌBǂǂGQ[փVtgĂccB

2002/10/25 (Fri)
@O閾BeXg[ƂƁAjrj{ցBcĂ
݂ցBQ[ZȂVNB̂ƓOQ[B}IJ[gPQO
ȏBuwr[A[YvāH@ăOBIp[`IH

2002/10/26 (Sat)
@PQɋNĉCłBlŔgJcHׂB 
Kanon TgwBuHqvBsށijBăK_
rddĉՂB


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

@܏́@ω@|W|

@މ@̓̒AƃVl͉̕ɂB
uȂłȁv
@XȂA͂ɉȂɂȂĂB
ûl͎Rłˁ[BȂĈꐶȏɏZ߂Ȃ
Ȃ̂ɁAႤ񂾂́v
uAȂẮHv
umȂBĂȂ́v
@|IA̋ɂ݂͂̃obOuĂBꂪA
̑SiƌĂׂ̂BǵA{ɕKvȐƂ
ϓN̂Ȃ̂΂肾B
u܁A厖Ȃ̂͑݋ɂƂɓĂ̂ȁB͂邾낤v
úÂƂǂvẮHv
@Vl̃Xg[gȎɁBB
uDv
uDccv
uBłˁccAȂłȂv
@Ƃt𖳗ݍŁAUB
@ɓɁA䍁Ƃ݂g߂ɊĂcc݂m肵n߂
A𓾂ȂȂĂĂBccB
@̌t́AĂ͂ȂAtɂĂ͂ȂtB
uDāAA܂悭Ȃccv
u܂AqȂ񂶂ȂH@āA`Ȃv
uƂȂāccȂ񂩁v
uȂ񂩁Hv
@Vl̔Ԃɂ킪B
uȂ񂩁ACȖ̂錾tccv
uCȖcc˂v
@ɋꂵłԁAVl̐[wӎ\wւƐo
ĂBVl͂𖳈ӎ̂ɉށB̒̂悤ɏ
AłƂĂIȉAVl̓̒ŏ܂Ă
B
uVlccHv
@lqƊAhAzB͂AV
l͖ڂo܂B
uccccHv
u͂Apłv
@j^[Ɍꂽ̂͏B̃j^[ŁATOX|
ĂAł͂B
uȂ́Hv
w܂҂Bpa͂ǂBA܂䍁̂Ă
Hx
@̗\ȌUɋ܂AɏڂƂɂӂ͋
B
                                                              ()


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wx
uHv
w\ɂ̂ڂĂx
uA #pragma twice ̓eĂˁv
wȂŁHx
uLĂƂȂ񂶂ȂHv
włȂŁHx
uwǓo^ĂĂ邩炶ȂHv
włȂŁHx
uȂłȂ񂾂낤ˁv
wꂪ킩Ȃǂ悤ȂȂIx
umɁccv
http://www.kab-studio.com/
_______________________________________________________________[KCM]


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


@Version 10.02
EBhENXo^

uA܂͑O̕⑫BAÕR[ĥ܂܍ڂƗʂ
邩Čfڂ܂v
wÔĂƂˁx
u܂A֐Sł݂܂v

WinMain() : ԍŏɌĂ΂֐BLQ֐Ăт܂B
CreateAndShowWnd() : EBhEĕ\܂B
RegistWndClass() : EBhENXo^܂B͂ꂩB

wȂŊ֐ɕ́Hx
uЂƂ̊֐ɑ̋@\lߍނ̂͗ǂȂˁBႲ
ČɂAϐȂĊǗłȂȂ邵v
w݂ɕ킯ˁx
uʂɂ͊֐͂PʂɎ܂悤ɂČĂ邩A꒴
番Cɂ悤ɂˁv
wPʂɎ܂āAʂ̉𑜓xɂĈႤƎvǁccx
u̕ӂ͓KɂĂƂŁB true  false A bool ^ɂāv
w FALSE ̕Ȃ݂邯ǁx
u̕ӂɂĂ Version 5.10 ( No.075 ) QƁv
w true  false ̕V̂ˁx
u API  bool gĂ̂͂ȂAǂĂ BOOL ̕Ȃ
[ȂႤǁASȂ bool ̕v
wȂ́H@TRUE ƔrłȂHx
u TRUE  0 ȊOĂƂ́AǂȐlłĂƁB́A
BOOL  int ^v
wIH@ int Ȃ́Hx
uA int  typedef ́B WinDef.h ɏĂ邩炠ƂŌ
ĂāBŁA int ĂƂ́A TRUE  FALSE ȊO̒lnĎ
v
wccĂȂȂȂHx
ułۂvO\񂾂ˁccv
wނނށBAł bool Ȃ炻ꂪłȂ炢ĂƂȂ񂾁x
uƁBÃvOł bool gNZ
ȁv
wقx
uŌɁAG[ɂāB bool ̖߂ĺA
`FbN悤ɂĂ܂BƂ CreateAndShowWnd() ̏ꍇ́v

    bRes
        = CreateAndShowWnd
            ( pchWndClassName 
            , p_hInstance
            , p_iCmdShow
            );
    if( bRes == false )
    {
        return -1;
    }

uĊv
wЂƂ̊֐Ƃɂꂷ̂đςˁx
uˁAOgƂ܂Ƃ߂񂾂ǁv
wꂢHx
u͂Ə㋉Ҍł܂gȂA̒iKƂ
ɂЂƂЂƂ`FbN邱ƂɂȂ邩ȁv
w߂ǂˁ[x
ułA͐΂ɂȂʖڂˁBۂǎ̃vO
ŁAłgȂ悤ȃvOłȂv
w܂A̐lg悤Ȃ̂炱G[͐ΕKv
Ă킯ˁx
u䂱ƁBmɖʓ|ǁAꂪȂƎg͉Ȃɂ炾
v
włAłȂɂ炾Ǝvǁx
umɁccB{͂ɃG[̌܂ŒׂĂo͂Ȃ
Ȃ񂾂ǂˁB͂܂ʂ̋@ɖ{iIɋ邩v
wꂭ炢dvĎˁx
u䂱ƁBāAł͍̖{AEBhENX̓o^ɂĐ
܂v
wEBhENXA΃EBhȆfĂˁx
uBEBhENXɂ͑傫Ǝ̂ӂ̎ނ
v

Egݍ݃EBhENXF
@EBhEYɂłɓo^ĂEBhENXB
@_CAOi #32770 je_CAORg[i BUTTON jB

E[U[o^EBhENXF
@vOŕʂɓo^ꂽEBhENXB
@MFC ɂēo^ꂽ̂Ɓu AFX Ȃ񂽂vƂȂB

wgݍ݂̃EBhENX CreateWindow() ̃t@XŌ
ČĂˁx
u Version 9.09 ( No.170 ) ŐGꂽˁBłꂾȂāA_C
AO #32770 ƂAj[ #32768 Ƃv
wIH@j[̂āIHx
uAj[EBhÊЂƂAƃEBhENX
o^Ăāv
wꂪg񂵂Ă킯ˁ[BłAj[̂Ăǂׂ
́H@Spy++ ᖳȂ񂶂ccx
uI[i[h[ĉĂHv
w{^ƂvOŕ`̂ˁx
uj[ɂI[i[h[gāÂƂɃfoCXReLXg
擾łāAfoCXReLXg WindowFromDC() ŃEBhE
nh擾łāA GetClassName() ŃNX擾ł
ccāAĂHv
wĂ邯ǁ[AȂ񂩃}jAbN[x
uvAΔł悤ɂȂ炵Ȃ邩v
w̓_ccx
ub߂āAEBhENXɂ͓o^ς݂̂̂ƃvOo^
̂āAŐ̂͌҂̓o^v
wo^ API ƂǵHx
uA RegisterClassEx()  API g܂v

// EBhENXo^܂B
bool RegistWndClass
    ( const char *const p_pchWndClassName
    , HINSTANCE p_hInstance
    )
{
    // EBhENXo^p\́B
    WNDCLASSEX stWndClassEx;
    stWndClassEx.cbSize = sizeof( stWndClassEx );
    stWndClassEx.style
        = CS_BYTEALIGNWINDOW | CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;
    stWndClassEx.lpfnWndProc = WndProc;
    stWndClassEx.cbClsExtra = 0;
    stWndClassEx.cbWndExtra = 0;
    stWndClassEx.hInstance = p_hInstance;
    stWndClassEx.hIcon = LoadIcon( NULL, IDI_EXCLAMATION );
    stWndClassEx.hCursor = LoadCursor( NULL, IDC_ARROW );
    stWndClassEx.hbrBackground = (HBRUSH)COLOR_BACKGROUND;
    stWndClassEx.lpszMenuName = NULL;
    stWndClassEx.lpszClassName = p_pchWndClassName;
    stWndClassEx.hIconSm = LoadIcon( NULL, IDI_EXCLAMATION );

    // EBhENXo^܂B
    if( RegisterClassEx( &stWndClassEx ) == 0 )
    {
        // s܂B
        return false;
    }

    return true;    
} 

wO֐̂ЂƂˁx
u̒ŃEBhENX̓o^܂Bo^ɂ WNDCLASSEX č\
̂g܂v
w̒ɐFXf[^āAŌɓo^킯ˁx
uł͂ЂƂЂƂĂ܂v

    stWndClassEx.cbSize = sizeof( stWndClassEx );

wH@ sizeof āAϐ̃TCYĂ̂ˁx
uA܂̍\̂̃TCY܂B API Ŏg\̂̂
Ƃǂ́AĎg̃TCYnA܂KĂƂŁv
w RECT ƂĂȂx
û͓ʁccAv

    stWndClassEx.style
        = CS_BYTEALIGNWINDOW | CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;

u̓EBhENX̃X^Cłv
wEBhEX^C݂Ȃ́Hx
u䂱ƁBłAςđ傫ς̂͂ȂA
ʂ͂ɂ̂ŏ\BčĂƂȂ݂BA
v

    stWndClassEx.lpfnWndProc = WndProc;

wށA Proc ƌ΃_CAOvV[WIx
ûƂB_CAO̎̓_CAOvV[WAEBhE̎
̓EBhEvV[WpӂāAɃbZ[W𑗂Ă炢
v
wH@ł WndProc() Ċ֐Ȃˁx
u͎邩v
w[BrhʂȂ񂾁x
u䂱ƁBƂ킯Ŏցv

    stWndClassEx.cbClsExtra = 0;
    stWndClassEx.cbWndExtra = 0;

ûӂ͓ʂȖړÎ߂Ƀ̈]Ɏĝ́B
͎gȂ 0 ɂĂāv
wʂȂāHx
uƎ̃_CAONXo^Ƃ݂ˁBƂ悭
ȂccႠv

    stWndClassEx.hInstance = p_hInstance;

wCX^Xnhˁx
uႠv

    stWndClassEx.hIcon = LoadIcon( NULL, IDI_EXCLAMATION );

u LoadIcon() ɂĂ Version 3.6 ( No.031 ) QƁv
włP NULL āHx
u̓EBhEYɍŏĂACRgꍇB͂Ƃ
̃eXgAAvŃACRȂˁB́v

    stWndClassEx.hCursor = LoadCursor( NULL, IDC_ARROW );

uB̓}EXJ[\BAv

    stWndClassEx.hbrBackground = (HBRUSH)COLOR_BACKGROUND;

u̓EBhE̔wiFB COLOR_BACKGROUND ͕W̔wiFv
w HBRUSH Ȃ񂾂ˁB̔wiF Version 7.12 ( No.132 ) ̔wiFHx
uÂƁBtɌƁv
w͂łς̂ˁx
u䂱ƁB́v

    stWndClassEx.lpszMenuName = NULL;

u̓j[AȂ񂾂ǂ͂ƂŃeXg邩獡͉܂v
wj[̗K񂾁x
u MFC gƂɂˁBŁAdvȎv

    stWndClassEx.lpszClassName = p_pchWndClassName;

u̓EBhENXv
wœo^EBhENXAEBhEƂɎw肷
ĂƁHx
u䂱ƁB͎͂̕ƂĂdvBŁAŌɁv

    stWndClassEx.hIconSm = LoadIcon( NULL, IDI_EXCLAMATION );

u͏̃ACRB hIcon ͑傫ACRA hIconSm 
̃ACRĂƁv
wőSHx
uSBp[^[ǁA͂قǏdvȂ̑ȂBAC
RƂƂς邵ˁv
w SetIcon() Hx
u䂱Ɓv

/*
    Preview Next Story!
*/
wƁAȂ񂩃XpbƐ؂ꂿˁx
uƃI[o[ˁv
wH@TCY܂ẮHx
uQOOsOɂȂ悤ɂĂ邩v
wց[A񂾁x
uł\Ăˁv
wAl^ɂĕʂĕςˁx
uƂ킯Ŏv
 Version 10.03 EBhEvV[WI 
wɂÂIx
ủ͋tɑȂāccv
w܁x


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

EPP\ǎccB
@PAV\cc̗\ijBPx邩Ȃǂ
̎̓SB



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

