/*
    KAB-studio.h
        @j`a|ŐTXVe
        i[ꂽwb_[t@Cłi΁jB

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

    MF 2001/03/04(Sun) No.097
    zMF 3890i Mag2 + Pubzine j
    sF ܂܂( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/

/*                           sI                             */

@ɗsĂŁARSTUiEE΁j͍XVx
݂܂BȂ̂ł̃}ḰA͌jzMł͓j
ɔzMĂ܂B
@xݒAL̗JT͂x݂܂B`[ʂȓLx݁A
Վɂ͏ނ̂łĂˁB
[ ԃX^Վ ]
http://www.kab-studio.com/nikki2/Rinziban/


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

ER\oI
@o^CłŐV\łB͂
܂ijBǎ̃_E[h CG Gallery ɂāB
[ CG Gallery ]
http://www.kab-studio.com/CG/Gallery/


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

2001/02/25 (Sun)
@Ȃ`͂܂ƂAԃwb_[POOƂB
œjȂŃAjƂFXBKIAȂƎv񂾂ǂȁ[B

2001/02/26 (Mon)
@vԂɐVhsăJLHׂԕ iMac ޔB
AĂ̓r[h݂ɍsBZB

2001/02/27 (Tue)
@R\II@ccóccBώԒZƃ_ˁB

2001/02/28 (Wed)
@WIVeB̎オII@̕\͂ǂII@ȂĂƂƂ
ΏƓIɉԕǃ[h̒[~̑|B

2001/03/01 (Thu)
@|ŋؓ()BƍۃVXe(AE)ɒo鏑ޑ
Q[{[CAhoX~ƂB

2001/03/02 (Fri)
@myShade2 with WIVeBłR\ǎ̔wiI@čXVO
ɍ邩()B܁AǂȂȂB BIGLOBE T[`
ɓo^ꂽƂB

2001/03/03 (Sat)
(s̊֌WŁATڂ܂)


/*                         L̗JT                             */
http://www.kab-studio.com/Programing/KabuU/

2001/02/25 (Sun)
ւ
\̂ write() ͂̂܂ read() ẮH
̃oCi[f[^̂̂܂邩v
\̂̃TCY
ACglȂ
sizeof ̒lgׂ
close() Ȃ open() łȂ
ւ
[J[XbhsɃAvIƂǂȂH
MSDN  "Terminating a Process" Ƃ̏Œ~炵
̂Ƃ̓vZX폜΂ȂƂȂ
ufobO̒~vƂŎƂ
Xbh҂ɂ WaitForSingleObject() g
TvR[h
XbhÎ҂
ւ
CFindReplaceDialog ̎ǵH
TvR[h
FINDMSGSTRING œo^ꂽbZ[WĂ
CFindReplaceDialog::GetFindString() ł擾ł

2001/02/26 (Mon)
ւ
CFindReplaceDialog  ASSERT() o
CFindReplaceDialog::PostNcDestroy()  delete this Ă
CFindReplaceDialog ^ϐ new ō΂
ւ
[J[Xbh̖ɗ

2001/02/27 (Tue)
x

2001/02/28 (Wed)
ւ
Microsoft(R) Visual Studio(R) 6.0 Service Pack 5
MFC42.DLL XVĂ邯ǏCĂȂ悤Ɍ
Ă݂Ε肻

2001/03/01 (Thu)
uElvusvRg[SOx\t
DoModal() eXg\łȂȂ
CreateDialogIndirect() ̖߂l NULL  GetLastError()  0 Ԃ
R[hł̒ǉ͂܂Ǝv
_CAOGfB^̃_CAO͖{̃_CAO

2001/03/02 (Fri)
ւ
GNXv[[Ƀhbvɂ́H
܂悭mȂ̂
TvR[hւ̃NЉ܂
COM C^[tFCXKv炵

2001/03/03 (Sat)
(s̊֌WŁATڂ܂)


/*             vO~OET̒ǉP                 */
http://www.kab-studio.com/Programing/Dictionary/

EǉPF
EBhEԒʐM

ET̏󋵁F
@͂PP()BłT̂炢ccłPǉ
RtȂł߂Ɂ`B


/*                       ؂̗JT                           */
http://www.kab-studio.com/Programing/KanaU/

ev[g
#17 ^o

@ev[ggƁAR[hȂ肪B typedef ͂
邽߂ɂg܂BƂ΁A No.093 ̃R[h͂
B

void Use_COutFuncDef()
{
    typedef COutFuncDef< int > COutFuncDefInt;
    COutFuncDefInt cTmplForMemFunc;
    printf( "%d\n", cTmplForMemFunc.MemFunc( 200 ) );
    // 100
}

@ɁǍ^ev[gɓnƂꍇ typedef
Ăg񂷕yˁB
@Ɋ֘AāA typedef gāu^ov邱Ƃł܂B

template< class type_Data >
class CHasTypeMember
{
    type_Data m_Data;
public:
    typedef CHasTypeMember< type_Data > type_this; // ^oB
};

@̗́Â̂ typedef Ă܂BꍇɂẮAN
X̃|C^QƁAɂ const  typedef 邱ƂB
ƂŒ炵^Zł邵ANXςƂƂK
vŒ̕ύXłł邵ˁBɁAo֐̈߂lɎN
XgƂ肷ꍇɕ֗ȁB
@NX̒ȂAOĂԂƂ֗BȊɌ^o
g܂B

    CHasTypeMember< int >::type_this cHasTypeMemberInt;

@܁Aꎩ̂͂܂ӖȂǂˁB
@Ogꍇɕ֗Ȃ̂́Aev[g typedef 
̂Aev[ǧ^o typedef ̂Ȃ񂩂̕
ȁB̂^oƂČĂяo΁Aev[gɉn
Ă̂ƂlȂčςނˁB̓ev[g̍B
ˁB


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wˁ[ASɂȂFXx݂ɂȂĘb́Hx
uȎȂ񂾂ˁccv
wς؂ȂƌĂ̂x
u肵Ă̏ȂBȂ`͂I肾ǁv
wȂ񂩏̃ev[g҂Ēr[ˁccx
u͂RtŒPo^Iv
w͏ɂĂˁx
uԂ`v
wccցH@RtŁH@ȂŁH@Ƃ肠ĘbHx
uX^XIɂ͂Ƃ肠x~AłȂĊJA炵v
wcc\N񂶂ȂHx
http://www.kab-studio.com/
_______________________________________________________________[KCM]


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

@Version 5.32
R{{bNX̃XgɒǉI

uO̓R{{bNXɕĂ݂܂v
w SetWindowText() łł̂ˁ[AmႦΊȒPˁx
uŁA킴킴R{{bNXɂ񂾂AR{{bNX̃Xg
pXǉĂ݂܂傤v
wǉāA̂̂ȁx
u̕ӂ͂ǂgɂ邩ĕˁBƂ肠́yQƁz
{^ƂAĂƂɂ悤v
ẃ[x
uAǂӂɂ΂AẴC[WĂ݂āv
wIH@[Ƃ˂cc΁AXg{bNX̎ɂ 
CListBox::AddString() ăo֐Ă񂾂ǉł񂾂AR
{{bNXł̂łx
ułׂ͒Ă݂܂傤v
w MSDN J CComboBox ̃o֐ꗗccA܂ AddString() 
Ă̂x
uAgĂ݂܂傤Iv
wgĂ݂ČĂccx
uÅ֐ł̂ȁ[Ďɂ́AȒPɃeXgĂ݂
v
wȒPɃeXgA˂cc CFileTestDlg::OnBtnBrowse() ̍Ōłł
Ă݂悤ȁx

void CFileTestDlg::OnBtnBrowse() 
{
// B
    m_cFileCmbBox.SetWindowText( cFileDlg.GetPathName() );

// ̉ǉB
    m_cFileCmbBox.AddString( cFileDlg.GetPathName() );
}

w[ƁAR{{bNX̃oϐ m_cFileCmbBox  AddString() 
ĂяoāAɁAt@C̃tpX擾 
cFileDlg.GetPathName() ̖߂ln΁ccrhĎsI@
Ɖ̃XgɒǉĂIIx
uA܂ĂˁB̃o֐ŒǉłĂƂ͕
ˁv
wccH@łǉԂƕѕႤccx
uOɂƂˁv
wI@Xg{bNX̎I@̂Ƃ\[gĂ񂾁x
u Ver 5.19 ( No.084 ) ̎ˁv
ŵƂ́AvpeBŃ\[gɂȂĂ񂾂ˁBI@ĂƂ
R{{bNX̃vpeBɂIH@ IDC_CMB_FILE ̃vpeBcc
Ix
u\[gftHgȂ񂾂Ȃccv
wΑɂȃX^Cˁx
uĖBăvpeBŌ߂̈ȊOł́AEBhẼX^
C͂߂Hv
wIH@[ƁccA CreateWindow() Ă񂾂ƂI@OɃEB
hE{^Ƃ WS_CHILD Ƃ BS_PUSHBUTTON n񂾂
ˁx
ułBĂƂ́AX^C̏ɂĂ͂y[W
΂ĂƁv
wȂقǁI@ĂƂ́cc CComboBox::Create() Ƃɂ肷
̂ȁccAqR{{bNXX^CrĂ̂I@X^
CςIx
uƂ́AvpeB̃X^Cǂɓ̂΁v
w΂ˁB CBS_SORT Ă܂̃\[gĂ̂ˁx
u炱΁v
wccĂ킩˂ccx
u܁A񂾂ˁB̂͗VтĂۂɎĂ݂āAǂ
@\Ă̂ƂĂv
wʓ|ȕ@ccx
uƂ肠Ay\[gz͊OāAyI[gXN[z̓`FbN
ȁv
wI[gXN[Hx
uꂵȂŁAR{{bNXɓĂ݂āv
w񂶂[tH_ɂt@CQƂƁBH@Ȃ񂩂炢g
Â炢ccx
uʁAE̕ɃhbOƎIɃXN[񂾂ǁv
wȂ`x
uŁAyI[gXN[z`FbNƁv
wAƂȂIIx
uӂɐFXĉĂȂƂˁv
w[ÃAvƂłĂ̂ɂ͂łȂI@Ⴀǂ
X^C Spy++ ŌĂ݂悤A CBS_AUTOHSCROLL ȂȂA
ꂶႻǉ悤Aĕ@_Hx
unjB̕ʂˁBAłOɍsǁAPɃX^C
Ƃ͌Ȃv
w^Cgo[ǂ̂̂ƂOɌĂˁx
uƂ΁AX^CŎłĒmȂāAvO
͋ƂŎĂƂv
w킟ccx
u܁AX^C͂̕ӂɂƂāA̒iKƂƂӂ肪
v
wH@Ȃ́Hx
ut@CR񗧂đɎQƂƁv
w݂Sǉˁx
uĕςȂHv
wAρBĂ悤Ƀt@C̗łA瓯t@
CςĂ傤Ȃx
uƂ킯łƂ܂傤v
wcĉƂX^CƂ́Hx
u܂v
wccĂƂ́AłȂƂȂ_Hx
u䂱Ɓv
w`x
uǂčlΑvB܂At@C̗Xgɂƕ
ł܂v
wƁx
uɐVt@C̃tpXǉ܂Bł̂Xg
ɂ܂Bʂ̃AvƂǂȂHv
w[ƁAʁAXgɂ̂ԏɗ񂾂ˁx
uĂƂ́A菇ƂẮA܂Xgɓ̂邩ׂāA
΂擪܂ňړAĂ΂킯v
wAIx
u̕ӂ̓pY݂Ȃ̂v
wAƕ΂@\郁o֐T΂񂾂ˁB
[ƁA̂ CComboBox::FindString() ŗǂBA
ړ̂͂Ȃx
uAړ̂͂Ȃ݂ˁBꍇ͂ǂHv
w[˂cc DeleteString() ō폜 AddString() Œǉ
̂́Hx
u񂶂ႻĂ݂܂傤BA܂ CComboBox::FindString() 
玎v
wȂ́Hx
uˁAl񂾂zg͕KvȂ񂾂ǁAۂɎŒ
ĂƂɂ́A܂肢؂ɂȂv
wĂȒPȃeXgAăcˁx
u䂱ƁBAłA݂qǂ̃o֐g΂̂ȁr
ׂƂɂ́AЂ[eXgɁA܂ǂȕ@̂ǂ
ׂĂ̕v
wǂāHx
uPŊȒPɂłႤ֐邩Ȃłv
wAx
uɁAǂ̊֐gɂăbgfbgĂƂ
邩AKvȂgׂ邱ƂKvˁv
wЂ[gĂAŏɎĝǂ瑼̕@Ȃ
ˁx
uA܂ CComboBox::FindString() v
w[ƁAPׂ͒ꏊccAł -1 ł񂾂ˁx
uˁA -1 ƑŜ݂ˁv
ŵAɏĂq 0 n܂CfbNXrāA܂
z݂ 0 n܂̂ĈӖˁx
uB̌ꂾ 1 n܂̂Ƃ邵A֐
Ắv
w 2 Ƃ 3 Ƃn܂Hx
uȂ͂Ȃǁccv
wŁAQTA߂lɁAԖڂɓ̂̂
̂ԂĂ̂ˁBȂ CB_ERR Ɓx
u񂶂gĂ݂܂傤v
weXgA߂l TRACE() ŏoĂ݂΂ȁx

void CFileTestDlg::OnBtnBrowse() 
{
// B
    m_cFileCmbBox.SetWindowText( cFileDlg.GetPathName() );

// ̉ǉB
    int iNo
        = m_cFileCmbBox.FindString( -1,  cFileDlg.GetPathName() );
    TRACE( "%d\n", iNo );
// ̉̂͂́B
    m_cFileCmbBox.AddString( cFileDlg.GetPathName() );
}

wÂIԂƂ̃CfbNXio[ԂĂIx
uA͂폜܂傤v
w CComboBox::DeleteString() łԂ폜łƎvÄ
 CComboBox::FindString() ̖߂lnĂƁx
u CB_ERR ԂĂƂ͍폜Ȃ悤ɂ邱ƁAYȂŁv
wƂx

void CFileTestDlg::OnBtnBrowse() 
{
// B
    m_cFileCmbBox.SetWindowText( cFileDlg.GetPathName() );

    int iNo
        = m_cFileCmbBox.FindString( -1,  cFileDlg.GetPathName() );
    if( iNo != CB_ERR )
    {
        m_cFileCmbBox.DeleteString( iNo );
    }
    m_cFileCmbBox.AddString( cFileDlg.GetPathName() );
}

wrhĎsI@Aƍ폜ĂI@Ăƒ
ccHx
uAЂƂ̖_BŌɒǉȂv
wۂȂψԏザȂƂˁBłƂǂ
񂾂낤x
uǂ΂ƎvHv
w AddString() ͍ŌɂǉłȂcc̈ʒuɒǉł
o֐T΂񂾁I@[ƁA CComboBox::InsertString() 
Ȃ񂩂ۂˁx
uAővłv
wƁAṔcćq}rāAǂɓ̂܂
Ȃ񂾂ǁx
uȂ񂾂ˁAQԖڂw肵ƂɂQԖڂ̏ɂ͂̂ɓ
̂AĂ̂邩B܁A͂悭ǂ߂Ε邾낤ǁv
wHx
u_Aqɑ}rȂԍŌɒǉłȂAqɑ}rȂ
ԍŏɒǉłȂłv
wAq -1 ōŌɒǉrĂ񂾁I@ĂƂ́qɑ}r
ˁx
u䂱ƁBĂƂ͈ԍŏɒǉɂ́Hv
wCfbNXio[ 0 ɂI@炱ȊHx

void CFileTestDlg::OnBtnBrowse() 
{
// B
    int iNo
        = m_cFileCmbBox.FindString( -1,  cFileDlg.GetPathName() );
    if( iNo != CB_ERR )
    {
        m_cFileCmbBox.DeleteString( iNo );
    }
    m_cFileCmbBox.InsertString( 0, cFileDlg.GetPathName() ); // B
}

wrhĎsI@Ƃ݂Ix


/*
    Preview Next Story!
*/
włĂĊyˁIx
u܁Azg͂̂͂Ȃ񂾂ǂˁv
wǂ䂱ƁHx
udlƂŏɂ茈߂Ăn߂ȂƁv
wȂ̘̉bƎvĂccx
uۉbv
wȂɂIx
uƂ킯Ŏv
 Version 5.33 dllĂɎg₷I 
wɂÂIx
u܁Â͂ĂƂŁv
ws΂΂̐󂿂ɁAdlȂč̂Hx
uhv


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

ECodian Ƀy[Wǉ
@ Codian Ƀy[Wǉ܂B STL & iostream 傩 STL 
 #22 - #24 ǉB


/*                          ӁII                            */

Ẽ[ԐMȂłB
EӌE]Ez[`[ʂȓL]肨肭B
http://www.kab-studio.com/nikki2/
EvO~OɊւ鎿[L̗JT]ɂ肭B
http://www.kab-studio.com/Programing/KabuU/
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/

/*
    KAB-studio.h
    Weekly Mail Magazine.
    Written by Kaburaya Seiden.

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


/*                      See you next week!!                      */


