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

    KAB-studio.h


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

    MF 2002/04/29(Mon) No.155
    zMF 3790 ( Mag2 + Pubzine )
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine ( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

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

Ezbgn[uɂPbǉI
@Ol̃zbgn[uɂPbǉ܂I@ƂƂP͊I
[ Ol̃zbgn[u ]
http://www.kab-studio.com/Comic/HotHerb/


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

2002/04/21 (Sun)
@ՂƂPbƃzbgn[uPb쐬Bzbgn[u͎菇m
邩B̐ CppUnit ̕zBer͍ŋ߃nPW[ʔ
B͎󂯂B͂ǂ邩ȁ[B

2002/04/22 (Mon)
@ˑRurh̍XV񂪖v肪I@Ǝv玞v
ĂccBԂR̓eXgł炵Čɖ߂Ȃ
Bzbgn[ũqbgA܂܂H

2002/04/23 (Tue)
@std::vector< std::string > v̂ _CrtSetDbgFlag()  
_CRTDBG_CHECK_ALWAYS_DF BdōCǔJ
ĂǂȂH@rfIe[ṽo[WAbvB KREZ nEBXB
ăRsysTCgB

2002/04/24 (Wed)
@R[h`FbN̋@\t񑀍B std::string::find() 
 [[[tH]  [[tH] 邩Bg
B˂ĂcucPB

2002/04/25 (Thu)
@Enhydra gƎvႤdBx݂ɃECCUB݉Ō
\ȐlLĂ邱ƂBECCUA\oႤccB

2002/04/26 (Fri)
@d͋vXqցBœOQ[ցAƎv炻̋qŃgu
()BȂƂtH[ēOQ[ȂOɃr[hBꂽccBE
CCU͂܂܂ȂƁBĂQ˂CxgBǂȂH

2002/04/27 (Sat)
@ȈBQAQBłzbgn[uPb`BƂ
h`LŁBтA̃f[^ĐłȂ()Bn[hfB
XNfbLɕۑ͂łĂ̂ɁBer͂mXyAvBZZ
ċ炪KvȂ񂶂[B


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

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

uH@Vl̂v
@ԓ炳₩ɏ΂ĉ郊VlBm͂ɏΊŉĎ
ւƓBԂ͑oAa@̃[^[𔲂oB
uȂAȂɂςƂ͂ȂHv
@āAׂɍ郊VlƁAOȂoNB
uȂɂȂBČA񂪂ȂƂƂɁA搶
eXg΂肷񂾂́BOɏoɂȂāv
u͂͂́Aޏ炵ȁBǁAꂩNɂ͂ǂǂ񓭂Ă
ȂȂȂÂ߂Ɉꐶ񂾂낤v
u̎dāAȂłHv
@VluuԁAْBĎāAm͏΂
B
uʂɌȂƂłAI΂ꂵҁɌ邱ƂłȂv
uAłv
@ŃA̐Ă炩m̏΂݂A
B
u႟AtɎ₵Ă݂悤BNB́AȂœVnЂ̗͂
ṕP̂mĂ邩Hv
u`okvɂ݂v
u~iN[g̑ɂ悤ƂĂ邩v
@m͎UB
uႤAȗRȂBƂÂƂ悭mȂ
A͓RƂ͎vǂˁv
uŋȂłāA悭ccv
umɁccv
@m͋΂𕂂ׂāAC蒼B
uAɈٕςNBāANtA̓{ɈłK
ccv
uȂ肤񂭂błˁv
ułAm̌ƂɃE\͂ȂłHv
@Vl̃tH[ɏN͂ӂĂB
üłɏĂ҂AꂪA̗͂󂯌ṕƂ킯
v
u܂Ńt@^W[̐E݂BȂ񂩌Ȃv
uꂾccv
@ŃACtB
uȃt@^W[݂ȕ䂱AlB̃fr[ɂӂ킵
Hv
uȂāAkvV[Yłv
uƂB̂߂ɁAVnЂ͍ꂽ񂾂ȁv
ułAlBĂȂłHv
uNB́A킶Ȃv
@ḿAӂāA͋B
uܐl̂`oɂ́APJȂĂȂR̂߂ɂȂĂ
ȂBʂ́ccv
@m͂ɂƏ΂B
u܂AǂȂĂ炨ȁv
                                                              ()


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
w̐j Java }KIx
uqPV@IuWFNgw̐Erłv
wzg͂̍ŏI񂾂񂾂ˁx
uł̓rŏI邱Ƃ͂łȂPǉ܂v
wŁAzg͍ŏI񂾂ĂƂŁA܂Ƃ߂݂Ȋˁx
uIuWFNgwŜ̘bˁv
ŵ炢̘bȂAȂƂȂ邯ǁAłx
uvO~Oɂ͗płȂłHv
wABNXƂAgōȂx
uA|Cgv
wHx
ulƂẮANX藝Ă̕Ǝv񂾂ˁv
w̃}ḰAȊˁx
uTOHIȗx̕dvIv
wĂ킯ŁA͂܂܂Ȃ킯ˁx
u܁AȂĂǂłƁAƂƑ傫Ƃ͎vHv
http://www.kab-studio.com/
_______________________________________________________________[KCM]


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

@Version 8.13
\̂̎g

u܂͑O̕KIv

BOOL CMfcDialogDlg::OnInitDialog()
{
// B
    // TODO: ʂȏs͂̏ꏊɒǉĂB
    HTREEITEM hParentItem
        = m_cMainTree.InsertItem( "ACe" );

    // TVITEM \̂̏B
    char pchText[256];
    TVITEM stTvItem;
    stTvItem.mask = TVIF_TEXT;    // 񂾂擾B
    stTvItem.hItem = hParentItem;    // 擾ACeB
    stTvItem.pszText = pchText;    // 󂯎zB
    stTvItem.cchTextMax = 255;    // ̃TCYB

    // ۂɎ󂯎܂B
    m_cMainTree.GetItem( &stTvItem );
    TRACE( "%s\n", pchText );
    // ACe

    return TRUE;
}

wŃACe̕񂾂ˁBł\ʓ|ccx
u in  out A܂肱nf[^ƃEBhEYn
f[^\̂ɓĂ邩ˁ[BĂv
wĂ[Hx
u̕ӂ TVITEM ̃t@XĂ悭Ȃv
wpꂾHx
uĂB̂̓TvƂ邵Ȃˁv
w󂿂̃R[hTvR[hHx
uԊ{IȂƂǂˁBāAO񂿂ƃMM
A܂茩Ă݂܂v
wققx

    char pchText[256];
    TVITEM stTvItem;

wz TVITEM \̂̕ϐĂˁx
uł͎v

    stTvItem.mask = TVIF_TEXT;    // 񂾂擾B

ẃqǂ̃f[^炤rw肷rbgtOȂ񂾂ˁx
u̓ACe~ TVIF_TEXT Bt@Xƕ
ƂAȃoϐ TVITEM ɂ͂邩A̒̂ǂn
Ă炤 TVITEM::mask Ŏw肵܂v
w TVIF_IMAGE ƂAC[WXgƂĂ邯ǂĂȂɁHx
uc[r[Rg[ĕʂ̓ACRtĂłv
wtĂB[ÃACR̂ƁHx
uB͖ʓ|炱̃C[WXg̎g̓pXv
w\ʓ|Hx
u܁[ˁBv

    stTvItem.hItem = hParentItem;    // 擾ACeB

wf[^肽ACẽnhŎw肷񂾂ˁx
uBt@XƉCȂ̃oϐ邩Ȃ
󂯎肻ǁv
wŎw肷킯ˁ[x
uv

    stTvItem.pszText = pchText;    // 󂯎zB

wĂƂ₱x
u܂A󂯎邽߂ɂ͕zpӂẴ|C^n
܂AĂ͕̂ˁv
wx
u\̂̃oϐŕ󂯎ꍇA̍\̂̒ɕz
pӂ邱Ƃł񂾂ǁAꂾƃTCYŒłv
wACe̕񂪒Ǝ󂯎ȂIx
u䂱ƁBAz͍\̂̊Oɒu킯Bv
wŁÃ|C^\̂ɓƁx
uEBhEY͂̃|C^̎wɕz񂪂ČȂāA
ɕ݂܂v
w|C^͂[[̂ɕ֗ˁ[x
û߂̂̂ˁBŁAqzƂ݂ȂrƂĂA|C^
w͂̃Ã̂ǂ͈̔͂zȂ̂ǂs
v

    stTvItem.cchTextMax = 255;    // ̃TCYB

włǂ܂łz񂩂Ă̂킯ˁx
u܂ł\̂̏BŁAv

    m_cMainTree.GetItem( &stTvItem );

uŃf[^EBhEYnĂ炢܂v
wȒPČΊȒPǁcc̃oϐ̂ƂCɂȂȁ[x
u̓pXBƂ킯ŁAx͒ǉ̕Ă݂܂傤v
wĂ[ꂪړIȂ񂾂ˁx
uǉɂ TVINSERTSTRUCT č\̂g܂v
wA܂V\̂Ix
uČĂAoϐRĂ邾BЂƂ TVITEM B
ɒǉACẽf[^n܂v
w "ACe" ƂHx
uBӂ߂̃oϐ TVINSERTSTRUCT::hParent B
̑Og CTreeCtrl::InsertItem() ̑Qv
wǉACe̐eACeIx
u䂱ƁBĂƂ́A݂߂̃oϐ́v
w CTreeCtrl::InsertItem() ̑RAĂƂ͏ĉǂɃACe
ǉ邩Ix
uĂƁBꂪ TVINSERTSTRUCT::hInsertAfter ăoϐɂȂ
܂BƂ킯Ŏۂ̃R[hĂ炢܂傤v

BOOL CMfcDialogDlg::OnInitDialog()
{
// B
    // TODO: ʂȏs͂̏ꏊɒǉĂB
    TVINSERTSTRUCT stInsertItem;
    stInsertItem.hParent = TVI_ROOT;
    stInsertItem.hInsertAfter = TVI_LAST;
    stInsertItem.item.mask = TVIF_TEXT;
    stInsertItem.item.pszText = "ACe";
    
    HTREEITEM hParentItem
        = m_cMainTree.InsertItem( &stInsertItem );

    return TRUE;
}

w TVI_ROOT  TVI_LAST ́AO񌾂ĂȗƂɓn̂ˁx
unƂł邵Av
w CTreeCtrl::InsertItem() ŕԂĂACẽnhn
ł킯ˁx
uǉACȅ TVINSERTSTRUCT::item  TVITEM ^ɂȂ
邩A̒ɓ܂v
w󂯎Ƃ菭Ȃcc TVITEM::hItem  TVITEM::cchTextMax 
Ȃ񂾁x
u TVITEM::hItem ́AꂩǉACeȂ񂾂v
wnh킯Ȃ̂ˁx
u TVITEM::cchTextMax ́A͕nŎ󂯎킯
v
wTCYw肷KvȂAƁB TVITEM::pszText ɂ
񂻂̂܂ܓnĂ̂ˁx
un͂ꂾłnjBACRtȂȂ̑
vȂ瑼̃oϐĂĂˁv
wŒǉ CTreeCtrl::InsertItem() ŁccāAƓo
֐Ȃx
u̓I[o[[hꂽ֐v
wA̕ƂnĂ̂ƈႤo֐Ȃ񂾂ˁx
ũo֐ TVINSERTSTRUCT ւ̃|C^󂯎郁o֐B
MFC gȂŃACeǉƂɂ TVINSERTSTRUCT gA
̌݊̂߂ɂĊȁv
wĂƂ́A܂ MFC gȂ̂ɖ߂ TVINSERTSTRUCT gĂ
킯ˁB֗̕ȕ CTreeCtrl::InsertItem() ͎gȂŁx
u䂱ƁB̕ӂ͕sւǂˁv
wsւĂ[cc͐󂿂ɋĂ炦łǁA
̃Rg[g肷Ƃɂ͂ǂ΂̂Ȃ񂾂
ǁx
uTvR[hTĂĒׂĎAꂾv
wx
uČAlc[r[Rg[ƂĂ܂gȂ
ׂȂ炾v
w[[Ȃ́Hx
u[[BہAt@XƂɂv
wĂ[A TVINSERTSTRUCT ̃t@XASRȂ񂾂
ǁx

typedef struct tagTVINSERTSTRUCT {
    HTREEITEM hParent;
    HTREEITEM hInsertAfter;
#if (_WIN32_IE >= 0x0400)
    union
    {
        TVITEMEX itemex;
        TVITEM item;
    } DUMMYUNIONNAME;
#else
    TVITEM item;
#endif
} TVINSERTSTRUCT, FAR *LPTVINSERTSTRUCT;

u͓ˁcc͎񌩂Ă݂悤v
w킩Hx
uЂƂЂƂ΂ԂvƎvBہÂǂ
悤ɂȂ厖Ȃv
w厖Hx
uŖBԐg߂ȃTvR[h͂Ȃł傤v
w󂿂Ix
uA͒uƂāv
wȊOccx
u MFC v
w MFC ēȂHx
urI͂ȂƎvccĂAɓR[h͂
邩A MFC 炢͓ǂ߂悤ɂȂȂƂˁv
wx
ułA MFC ǂ߂΁ccƂ΍̗B TVINSERTSTRUCT  MFC 
gȂƂɎgAĂƂ́A MFC  TVINSERTSTRUCT gĂ
ĂƁv
wH@ł TVINSERTSTRUCT pӂccI@I[o[
[ĥЂƂ̕Ix
u䂱ƁBƂn̂́A TVINSERTSTRUCT pӂĂ
ɕƂnăACeǉĂ܂v
wꂪǂ߂悤ɂȂ MFC TvR[hɂȂIx
uʂ͂ꂭ炢g߂ȖڕWˁv

/*
    Preview Next Story!
*/
w͌\Gۂˁ[x
ułȂƎvǁv
wȂ́Hx
uvO~OāAIɗݍƏȂv
wǂ䂱ƁHx
u`aɁAbcɂĂƂ͂邯ǁA`{adA͏Ȃv
w܂ЂƂЂƂĂ΂킯ˁ[x
uƂ킯Ŏv
 Version 8.14 \̂ǂ݉ 
wɂÂIx
u܁ÂЂƂЂƂĂ̂ςȂ񂾂ǂˁBłv
w͑vIx
u̕ӂ͂Ƃ܂ccv


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

ET\ǎoI
@PAV\łBccTĂl^ɍ񂾂ˁ[A
e[}ɂ悤ȁ[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
*/
////////////////////////////////////////////////////////////////////

