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

    KAB-studio.h


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

    MF 2002/07/01(Mon) No.164
    zMF 3740 ( Mag2 + Pubzine )
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine ( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

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

EV\ǎoI
@PAV\ǎłB\ʂn_JłijB
@_E[h CG Gallery ɂāB
[CG Gallery]
http://www.kab-studio.com/CG/Gallery/


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

2002/06/23 (Sun)
@ՂƂPbƕ\ǎ̃tBn_JłłH@X[p[ŋ
SRȂII@ߌ͂[ƁBڂȊBer̓nP
W[̓WJɁB

2002/06/24 (Mon)
@Ȃ薰Bg[jÔBd̓vWFNg𗣂ꂽ
Ńc[B_̂悤ɕ̂悤ɁA܂񂪑剤Z҉fAăe
r Kanon B Kanon A[ȁ[ccBăvOƊEɂ
[ȁBzbgn[ulCB

2002/06/25 (Tue)
@d̓CuƃhLgB挎oBsƂj
^[ƂQ[ƂBł SSW Ƃ̍w͍T邩B\ǎ
ƂB

2002/06/26 (Wed)
@BhLg쐬H@؃gH@Ƒ̏d
ƂB CD-R ăWbL[YLb`āBj^[Ȃ񂩕s
ijBG𖈓`ĂȂB

2002/06/27 (Thu)
@wi܂Ȃ`BΔ񂪂܂̂ɁB
ȂAGŒłĂȂBƕ`܂ȂႾ߂Bd
̓hLg쐬ƃc[B͎\ɒځB

2002/06/28 (Fri)
@\ǎI@wi͐̎gĂ\tgpXeۂ̂ɂ܂BL
̊GƐeaH@ۂ܂Bd͂ƃhL
g쐬BF≊Ă݂ȂȂĂ܂H

2002/06/29 (Sat)
@NNoĂƂ CD-R ɑobNAbvB͂̂т
āAԃwb_[̏ĂBɂĂɂȂ邯ǁARXg
̂BECCAǃftHg̃tH[[Vɖ߂
ɁB


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

@ĺ@ӂ̗Eҁ@|PO|

@̓A͊wZɍsƓԂɋNĂBɗ]T̂镑
͌ZEɌււƏoāA̎UԂ\ĉxڂ
t𕷂ƂĂB
uقƁ[ɁÂHv
uA܂񂾂BxĂłIv
@тƏ̔ԂɎw𗧂ĂB
uEEŁE܁EƁEv
@΁A͉ɂȂȂsĂAwZւƍs
ȂB
ucc̋CAĂȂv
uĂāBłA傤ȂȂv
@̋ꌾɂƓāA̓_CjOɖ߂Bɂ́Ał
̍HׂĂB
uɁASzĂ邱ƂAɒHĂ邱ƁA
\ɗĂĎMĂHv
u}ɏ񂶂Ȃv
@΂Ȃ炻ăGvEƂAւ̃`C
B
uAov
uAЂɍsv
@Ăӂ͌ււƏoBڂ̑OɌꂽlɁA͋Ȃ
ꂵB
uؑNccv
uAsv
@Ђւƍs̕ɏrY͓Aꂩ畑̕B
uǂcćHv
uAAwZsȂႢȂA܂莞ԂȂ񂾂
ǁccv
@|Pbg̒܂ĂpA͒߂ĂBƂɂĊy
ȕĂ̂Ƃ͑ΏƓIɁÃCVc𒅂rY͐
ƂČB
uȂƂAǂȂ̂̂Ȃ񂾂ǁccv
@悤₭oĎnꂽɂ́uʈSvƏĂB
uՂcc͂͂͂͂́v
u傤ȂA퓬SƂȂ̂Ȃv
u͂͂͂͂́ccAA肪Ɓv
@́Aɂ΂B̏ΊāAԂ߂ȂAꂵ
ƎvB
uHv
uAȂĂccӊOv
u菕Ȃ牽ł劽}v
uႠA񂪋AĂccv
@́AccH@ƎvȂǍt҂B
ucc׋Ă񂾂ǁccv
uccv
@̒肵Ď̌toȂɁArY͌ւoĂB
u͋AĂłBlɂł邱Ƃ́Ał邾
cc肽ČtARȂA܂AzĂ邩
ccv
@ĂrY̎pA܂˂L̂悤Ȏς؂ȂČ
ƂłȂB
                                                              ()


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wcc̕\A͂ǂRg炢̂ccx
uځAl΂̂v
wĂRXx
uЂv
http://www.kab-studio.com/
_______________________________________________________________[KCM]


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

@Version 9.03
j[𑀍삵悤I

úAۂɃvOŃj[𑀍삵܂v
w[BłAHx
uΔ͂ǂzĂHv
w[AOɃc[r[Rg[݂ČĂC邵A
悤ȊȂ񂶂Ȃ́Hx
u쎩͎̂ĂȂǁAłˁBvƎv
BႠA܂́cc CMainFrame::OnCreate() ăo֐
A\āv
wقققB ClassView Ń_uNbNĂƁx
uj[̓t[EBhEɒĂ̂A SDI ̏ꍇ
̓j[̑̓t[EBhEł̂ʂĂƂŁAt[
EBhẼo֐ł܂v
wH@q SDI ̏ꍇrĂƂ́A MDI ̏ꍇɂ͈Ⴄ́Hx
uA MDI ̏ꍇɂ͂ЂƂ̃EBhE̒ɂςt@CJ
łv
wpłƂ̃hLgˁx
uB̃hLgƂɈႤj[pӂł񂾂ˁv
wց[x
u SDI ̏ꍇ̘bĂƂŁBŁAꂩ炷̂́AŏɃ
j[ACeǉẮv
wĂ܂A\[X̕𑀍삵ȂŁAvOłĂ
ˁx
uv
w InitDialog() Ńc[r[Rg[ɃACeǉ悤Ȃ
ƓĂƂˁx
uAƓƁBłA_CAOȂɈ
܂B܂A CDialog::InitDialog() ȂāA 
CMainFrame::OnCreate() Œǉ܂v
wEBhE钼OɌĂ΂̂Ȃ̂ˁx
uꉞЂƒʂ茩ĂƁccv

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
        return -1;

    if (!m_wndToolBar.CreateEx
        (this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
        | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY
        | CBRS_SIZE_DYNAMIC) ||
        !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
    {
        TRACE0("Failed to create toolbar\n");
        return -1;      // 쐬Ɏs
    }

    if (!m_wndStatusBar.Create(this) ||
        !m_wndStatusBar.SetIndicators(indicators,
          sizeof(indicators)/sizeof(UINT)))
    {
        TRACE0("Failed to create status bar\n");
        return -1;      // 쐬Ɏs
    }

    // TODO: c[ o[hbLO\ɂȂꍇ͈ȉ̂Rs
    //       ĂB
    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
    EnableDocking(CBRS_ALIGN_ANY);
    DockControlBar(&m_wndToolBar);

    return 0;
}

wčŏ炠R[hˁx
uA AppWizard pӂĂꂽR[hB͐[͌ĂȂ
ǁAȂƂȂ킩łHv
wAc[o[ƃXe[^Xo[Ă݂ˁx
uc[o[Xe[^Xo[A`ŃvOƂď
邩đłĂƂˁv
w͂AăcHx
u܁[ˁBāA return 0 ̒OɁAR[hǉāv

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
// B

    // j[o[擾܂B
    CMenu *pcMenuBar = GetMenu();
    // j[ACeCT[g܂B
    pcMenuBar->InsertMenu
        ( 0
        , MF_BYPOSITION | MF_STRING
        , ID_FILE_OPEN
        , "t@CJi&O)"
        );

    return 0;
}

wAj[ۂBH@CMenu ĂƂ́A MFC ̃NXHx
uAʂ SDK ł MFC gĂj[𑀍ł邯
ǁA܂ MFC gĊȒPɑ삵Ă݂܂v
w̃p^[ˁx
u܂A CWnd::GetMenu() Ńj[o[w CMenu ւ̃|C^
܂v
wA CWnd ̃o֐Ȃ񂾁x
u API ł邯ǁȀꍇɂ̓j[o[ĂEBhE
nhn܂v
w̏ꍇɂ̓t[EBhEˁx
uɁA߂l HMENU ĂAj[̃nhԂĂ
v
w MFC  CMenu ̃|C^Ȃ̂ˁBH@ȂŃ|C^Ȃ񂾂
x
u Version 7.03 ( No.123 ) voāB CMenu  CDC Ƃ CWnd 
ƓŒɃnhĂ邩v
w HMENU ˁBB CMenu ̂ԂĂƂꂪ璆 
CMenu ̂̂ȂȂႤccj[ȂȂႤHx
uƂłꎎĂ݂悤AۂɂȂȂႤv
wȂȂႤƍ邩|C^ԂĂ킯ˁBŁÃ|C
^Łcc CMenu::InsertItem() ăo֐Ńj[ACeǉ
킯ˁx
uB̕ӂ̊óv
wc[r[Rg[ƂƎĂ邩x
uꂼ̈ɂČĂB܂v

        ( 0

úAj[ACe}ʒuv
w 0 Ɛ擪Hx
uB̕ӂ͑̂ƓꂳĂȂ₱āAŌɒǉ
Ƃ -1 nČ܂ɂȂĂ܂v
wzgA₱ccB́x

        , MF_BYPOSITION | MF_STRING

w̓tOˁx
u MF_BYPOSITION ́AP̈Ӗ߂́B́AʒuȂ
 ID łǂɑ}邩߂邱Ƃłłv
w ID Hx
uj[ACéB ID_FILE_OPEN Ƃ̂Ɓv
w[BłĕɂȂHx
uvB炠܂gȂƎvccBЂƂ MF_STRING 
́Ax͑S̈Ӗ߂̂ŁAj[ACe̕n
ĂӖv
wccAȊOĎvtȂ񂾂ǁccx
uOɁyI[i[h[zċƂłv
w Version 7.17 ( No.137 ) ˁBAAI[i[h[Ǝ
ȂႢȂx
uSœn񂪊֌WȂȂāȂ̂̂nȂ
ȂȂĂƁB܁A͍͂ςB MF_SEPARATOR n
Ɓv
wAZp[^[ĂƂ͉_ˁBᕶ֌WȂˁccx
u䂱ƁBŔv

        , ID_FILE_OPEN

w͂Ăj[ACe ID ˁx
uA̓eXgĂƂŁyt@CJz ID Ɠ̂w
肵܂v
wǉj[I񂾂t@C_CAOoĂ킯ˁx
u䂱ƁBṒv

        , "t@CJi&O)"

wꂪj[ACeɏoƁBŁAj[jbNƂw
킯ˁx
u̕ӂ̓\[Xő삷ƂƓv
w񂶂sI@[Aj[o[̍ŏɁyt@CJiO)z
ĂI@IԂƃt@C_CAOoIx
uĊɁA\ȒPɃj[ACe͒ǉł킯łv
wzgA\ȒPB\̂ƂgȂx
uǁv
wǁHx
uƁA͎ɎzBŌɃj[ႤĂ̂
Ă܂傤v
wĂ̂ˁx
ũj[擾ƃCT[ĝƂÃR[hɒuāv

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
// B

    CMenu *pcMenuBar = GetMenu();
    CMenu cDeleteMenu;
    cDeleteMenu.Attach( pcMenuBar->GetSafeHmenu() );

    return 0;
}

w[ƁAŏ̂Ps͂ƓˁBA|C^Ȃ CMenu 
āAŌ CMenu::Attach() Ńj[nh킯ˁx
uj[nh̎擾 CMenu::GetSafeHmenu() łł邩v
w CWnd::GetSafeHwnd() ̃j[łˁBŁÂ܂ܕĂ΁A
IɃj[nh폜ꂿႤ킯ˁx
uAۂɎĂ݂āv
wقB킟II@^Cgo[̉ccȂ񂩓ĂĂ[
AV[Ă[ccx
uƂӂɁAⓚpŃj[o[폜ꂿႤv
wj[o[ȂĂ܂Ȃ񂾂AG[ɂȂĉNȂ
ƂȂ΂̂Ɂx
uƂ͕se؂AꂮƂȂ悤ɋC
Ăˁv

/*
    Preview Next Story!
*/
wӊOƂԂȂ[̂ˁ[x
u API ̃[ɂ́AĎŋCt邵Ȃȁv
ŵČ\Hx
uAƂ΃j[o[ƃ|bvAbvj[̈ႢƂv
wđ傫ȈႢ񂾁[x
uƂ킯Ŏv
 Version 9.04 j[̍\ 
wɂÂIx
uA̕ӂ MSDN ̉pǂ߂ȂƂˁccv
w󂿂A̕\oĂx


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

Ezbgn[uɂPbǉ\H
@Ol̃zbgn[uɂPbǉ\łB݁ATXVقڎs
ĂłԂvƁ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
*/
////////////////////////////////////////////////////////////////////

