/*
    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/01/29(Mon) No.092
    zMF 3860i Mag2 + Pubzine j
    sF ܂܂( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/

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

EKAB-studio.h kōXV
@KAB-studio.h ̏kłXV܂Bkł̃_E[h̓t[EF
ACtH[V[ɂāB
[ t[EFACtH[V[ ]
http://www.kab-studio.com/Freeware/


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

2001/01/21 (Sun)
@_ PB1 II@ƌƗ܂̌܂ɁI@̂Ƃ̓^C
W[肵Ă̂тBu_J[~[WAṽƂ
B肵sĂ܂傤B

2001/01/22 (Mon)
@[~ɂđ_ PB1 \I@łۂ͂ǂ̂ȁH@Ă
Ă͉yӂȂ̂Ƃ[bB

2001/01/23 (Tue)
@ Java  GGX ăsăCXg`Đn匩ės͍s
ƎvȂāAƐFXB

2001/01/24 (Wed)
@hLX~ɂԃX^͏։ւ̑呛I@ĒłȂ
āAtɃZK̃Q[苟ꂻňSH@ƕa@ɖɍs
CXg`胁CŃNAB

2001/01/25 (Thu)
@[~B_͂nj炵łBȂ̂ŐȂƂĊ܂傤B
ƃ}VYhSYƂwBu悤vSR}}KvH

2001/01/26 (Fri)
@UEXwI@rbNJXłōsĔĂ܂B
ȂȂ[BƐVɐOƂĂ܂B͕ς
[B

2001/01/27 (Sat)
@MeBMA[NXƂUEX PIM @\ƂAƃAjƂB
񂩂ᒲH


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

2001/01/21 (Sun)
x

2001/01/22 (Mon)
x
Java + XML \

2001/01/23 (Tue)
Java ߂Ďg
C }KWP CD-ROM  IE5.5  Borland JBuilder 4 Foundation 
JBuilder 4 IDE dĂ悭
JDK1.3 o VC ̃c[R}hŎs
ւ
Win98  IContextMenu2 ̂͂ȂH
Win2000 ł͖Ȃ
VFGNXeV͓
shell32.dll XV邩 IContextMenu3 g

2001/01/24 (Wed)
XML ߂Ďg
XML ͕֗
XML ȒPɗ@
XML ̓f[^ۑ`̂ЂƂ
eLXg` <Data>100</Data> ƋLq
XML ́utH[}bg̒`v邽߂̌
XML t@C͎ۂ̃f[^Ƃ̃f[^̃tH[}bg`琬藧
̃tH[}bg`f[^ȒPɎo
eLXgt@CōACuĂ
X^CV[gg HTML ̂悤ɃuEUŕ\ł
EWȂǂ̃bg
C }KWQ̂Ƃ

2001/01/25 (Thu)
ՂƂ폑
MFC ̃EBhEvV[W⃁bZ[W@\
Spy++ ƂS

2001/01/26 (Fri)
ւ
CreateWindow  EditBox 쐬ĂJ[\Ȃ̂͂ȂH
Ɠ
TvR[h
ɉĂ̂

2001/01/27 (Sat)
vO~O
܂uZqv
zA悭mȂ


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

EǉPF
C#  CLR CLS if ISO ISO9660 MFC42.dll MPP RAID Zq I[i[ 
` Ē` Xp |C^̃|C^ L XgRg[ 
bN 

ET̏󋵁F
@łˁBȂ񂩑ƂƏȂƂ̗悤ȋC
()B


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

ev[g
#11 NXev[g̃CX^X

@xAO̗Ă݂܂B

template< class type_Mem1 >
class CClassTemplate
{
public:
    type_Mem1 m_1;
};

@̃NXev[ggɂ́A

    CClassTemplate< int > cClsTmplInt;

@ĊɁAev[g𖾎܂B
@̎_ CClassTemplate< int > CX^X܂Bev
[guꂽ CClassTemplate A܂

class CClassTemplate
{
public:
    int m_1;
};

@RpC̒ōāA^Ƃĕϐ cClsTmplInt 錾
܂B΁A

    cClsTmplInt.m_1 = 100;

@Ăł悤ɂȂ܂B
@A

    CClassTemplate< double > cClsTmplDb;

@Ă΁A

class CClassTemplate
{
public:
    double m_1;
};

@ĂȂ܂BłA͂܂ŒPȂ^BA֐ev[
g݂̎ɁA@Bւ̕ϊ͒ړIɂ͊֌W܂B֌WĂ
̂̓o֐gƂB͎BˁB


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wUEX̓AvȂ́Hx
uAł邽߂̃AvĂˁv
w邽߂̃AvāA VC ݂Ȃ̂ĂƁHx
uȂ́BS߂邩v
wAȂɍ񂾁Ix
u VC ̂炢񂾂Bwň񂾂ǁv
wł͊wȂHx
uI@΁AΔ̃CZXĂȂccv
wAႠ͈̂@gpIHx
u[łΔ͐lԂȂ炢[v
w͂Ń_ccx
http://www.kab-studio.com/
_______________________________________________________________[KCM]


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

@Version 5.27
bZ[W𑗂낤I

w̑O MFC  API gāARg[̃nhQbgđ
񂾂ˁx
uāA MFC g킸ɂĂ݂܂傤I@AO
{^̕Ⴉv

// ́B
void CFileTestDlg::OnBtnShow() 
{
    HWND hBtnWnd
         = ::GetDlgItem( GetSafeHwnd(), IDC_BTN_SHOW );
    ::SetWindowText( hBtnWnd, "" );
    return;
//  ͎Ă܂傤B

wcc[ȒPx
u͌炵ˁv
wAȂ񂾁B[Ƃ܂AOg GetDlgItem() 
IDC_BTN_SHOW {^̃EBhEnhQbgāA HWND ^
ϐɊi[x
u̍s̑O API Łv
w CWnd::SetWindowText() ȂāA API  SetWindowText() 
ˁBrhĎsA{^qrɂȂIx
uƂ킯ŁA API ̑͂ꂪ{BAɁAO̍ŏ
Xg{bNX̑܂傤v
ẃ[Ix

// ́B
void CFileTestDlg::OnBtnShow() 
{
    HWND hLstWnd
         = ::GetDlgItem( GetSafeHwnd(), IDC_LST_DATA );
    ::SendMessage( hLstWnd, LB_ADDSTRING, 0, (LPARAM)"" );
    return;
//  ͎Ă܂傤B

wȂ񂾁A API ЂƂx
uŏ̍s͂Ɠv
w IDC_LST_DATA Xg{bNX̃EBhEnhQbgāA
 SendMessage() Ă API ŎgĂ񂾂ˁx
uƂ肠mFv
wrhĎsI@AƃXg{bNXɁqr
oB܂肱 SendMessage() Ă̂ǉĂĂ
Hx
u񂻂͂BłǂĒǉĂƎvHv
w[AƁAPǉ̃EBhEnhłAQA
CListBox::AddString() ɎĂ邩AȂ񂩂ꂪqǉIrĂ
Ȃ̂ȁBƑSǉ镶B LPARAM Ă̂ɃLXg
Ă邯ǁx
uA MSDN  LB_ADDSTRING ̃y[WĂ݂āv
wقBcc{̃y[WoȂHx
uA{̃y[W͂Ȃłv
wȂŁHx
ubZ[Wɂ͓{̃t@XȂłv
wbZ[WHx
uBqL[[hr LB_ Ă̂ςłB
SbZ[Wv
w킢ςIx
ubZ[ẂAEBhE𑀍삷邽߂ɁAEBhEɑ́v
wA LB_ADDSTRING  SendMessage() őƁAXg{bNX
ɒǉł񂾁Ix
uƁB{́AEBhERg[𑀍삷邽߂ɂ͂
̃bZ[W𑗂Kv܂v
w{H@ccA MFC ̃bZ[WĂ̑Ă񂾁Ix
uƁv
wĂƂ́cc CListBox ̃o֐ÃbZ[WČ̂Ǝ
̂΂x
u CListBox::GetCount()  LB_GETCOUNT ACListBox::GetTopIndex() 
LB_GETTOPINDEX v
wx
uƑ҂āI@ƁȂÓccv

// ̃o֐B
void CFileTestDlg::OnBtnShow() 
{
    CListBox *pcListBox
        = (CListBox *)GetDlgItem( IDC_LST_DATA );
    pcListBox->AddString( "" );
    return;
//  Ƃ͎Ă܂傤B

uOŏ̃vOˁv
w AddString() ĂƂɃu[N|CguāArhĎsA
XebvCcczgA CListBox::AddString() ̒ 
::SendMessage()  LB_ADDSTRING ĂIx
uꂾȂāv
wفA CListBox ̃o֐ LB_ ȃbZ[WĂIx
uŁARg[ǂđ삵ĂHv
wABł\ȒPˁx
u삷ĂȂˁv
wǂ䂱ƁHx
u͂Ƃ̂y݁B SendMessage() ɂČĂv
ẃ[x

    ::SendMessage( hLstWnd, LB_ADDSTRING, 0, (LPARAM)"" );

u SendMessage() ̐錾Ăv

LRESULT SendMessage(
    HWND hWnd, 
    UINT Msg, 
    WPARAM wParam, 
    LPARAM lParam 
);

wP̓Xg{bNX̃EBhEnhˁx
ȗP̃EBhEɃbZ[W𑗂܂v
wQ̓bZ[WˁBA UINT ĂƂ unsigned int Ȃ
x
u API ͐lłقƂǊԂɍ킹Ă邩BEBhEX^CA
Rg[ ID łv
wbZ[Wǂ #define Ƃ const int ƂẮHx
uĂA winuser.h ƂŁB #define ˁv
wR͎gȂ݂ǁA[ȂőŔHx
úARƑS̓bZ[WɂĎgႤv
wႤĂǂƁHx
u WPARAM  unsigned int A LPARAM  long A܂ǂv
wRQrbgl̕ȂƂˁx
uŁÂRQrbgTCYɎ܂̂ȂȂłnႨA
̂bZ[W̍lv
wcc܂肻́Al邵A|C^AĂƂ
̂ˁBȂ񂩂ĊȂȂHx
uȂBbZ[WԈႦāALXgԈႦAEg
ˁv
wȂłȊ댯ȂƂ́Hx
uAbZ[WĂVXeЂƂŁAȂƂł
ɂȂĂ邩ˁv
wAmɁA LB_ ȃbZ[WAȂ̑āAȂƂ
Ă͕̂񂾂ǁA킴킴ȂƂȂĂ[B
֐ɂႦ΂̂Ɂx
uAA͎󂯎鑤̂ƂmȂƁccv
w󂯎Hx
u LB_ADDSTRING 𑗂烊Xg{bNXɕ񂪒ǉAĂ
̂vOƂčĂ񂾂ǁv
wx
ũvO̒ł́AĂbZ[Ŵ܂܎󂯎
łv
ŵ܂܎󂯎Hx
u MSDN  WindowProc() Ă API ̃t@XJāv
wقx

LRESULT CALLBACK WindowProc(
    HWND hwnd,
    UINT uMsg,
    WPARAM wParam,
    LPARAM lParam
);

wA SendMessage() ƓIx
uqEBhEvV[WrČ܂v
wǂՂ낵[Hx
uEBhE͂̃EBhEvV[WĂāAbZ[W
ĂƂ̊֐Ă΂āÂ܂ܓnłv
wEBhE͂āAႠ̃_CAOƂHx
uAvOĂ FileTest ˁBȒPɌĂB
CFileTestDlg::OnBtnShow() ̒Ńu[N|CgZbgāv
w AddString() ɃZbgĂ炻ł[x
usĎ~܂Aj[́y\z|yfobOEBhEz
|yR[X^bNzIŁv
wA߂Ă̂x
uR[X^bŃAsĂ֐Ă񂾊֐Aɂ̊֐
񂾊֐AĂӂɊ֐̂ڂČ邱Ƃł́v

CFileTestDlg::OnBtnShow() line 186
_AfxDispatchCmdMsg() line 88
iBƏJbR̒gj
AfxWndProc() line 368
AfxWndProcBase() line 220 + 21 bytes
KERNEL32! bff7363b()
KERNEL32! bff94497()

w[A CFileTestDlg::OnBtnShow() ܂łɂȂɂς֐
΂Ă񂾁x
uRsڂ AfxWndProcBase() _uNbNāv
ẘ֐񂾂ˁx

AfxWndProcBase(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)

wA WindowProc() Ă̂ƈIx
ubZ[WĂƂ̊֐Ă΂āAê܂ܓn
܂v
w܂AbZ[WĂ̂̊֐Ŏ󂯎̂ˁx
uAЂƂ̊֐Ŏ󂯎dg݂ɂȂĂ邩A
Ȉ͎gȂ킯v
w̑A WPARAM  LPARAM ɂȌ^lߍނ̂ˁx
uƁBłꂶsւAbZ[Wɍ킹Ĉ
XāAŏII CFileTestDlg::OnBtnShow() Ă΂A݂Ȏdg
݂ MFC ĂĂ킯v
wȂقǁBccƑ҂II@Ď͂܂A{^
Ƃ̂̂bZ[WĂ[́IHx
uƂ킯ŎɑIv

/*
    Preview Next Story!
*/
wyǁA|ˁx
uȂɂȂv
wvO̎dg݂ƂĂƁAȂ񂩕|x
umɁAȂ񂩃^u[ɐGĂĊ͂邩ȁv
wƂ킯Ŏx
 Version 5.28 CxgbZ[W 
uɂÂIv
wƂȂA߂āq䂾r𗊂񂾎̊oHx
uĂ܂H񂩂Iv
w͂`x


/*                QOOPNQTij̍XV\              */

EQ\ǎJ
@PAV\ǎłBQ̓o^Cf[ȉΔ
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!!                      */


