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

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

EQ\ǎJ
@PAV\ǎłBQ̓o^Cf[ȉΔA
`R̍ޗ𔃂Ă銴oĂ݂܂B_E[h 
CG Gallery ɂāB
[ CG Gallery ]
http://www.kab-studio.com/CG/Gallery/


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

2001/01/28 (Sun)
@Q\ǎ̂߂ myShade2 ŃfOBł܂()B
ŕ`Ă܂Ȃ 3DCG łĂƂɂȂ񂾂ǁAł
E邵ccBƃUEXɃXPW[݁B PDA ƂĖ{i
gpJnBĂǂ݂[Ղ̍ŏIB

2001/01/29 (Mon)
@[~sMeBMA[NXo^C̑`FbN
BUEX̍i荞݂ɊB

2001/01/30 (Tue)
@Q\ǎI@fOƒF@̉BfOɑ
̎Ԃ₵Ă܂()BƃAWiBĩXpCNƃno[
K[XpCN͕ʐlȂ̂˂B

2001/01/31 (Wed)
@ՂƂ폑BՂƂ͂ƏۂȂƂBȂ
Ėʓ|BjOĂȂBځ[̖Bɂ[B

2001/02/01 (Thu)
@̊GB_̐Ȃ͂ς߂ǂB TEX Ƃ̑pAvB
vXZ[t[hNBMeBMA[NXƃhLXBĂς
UEXBUEX́ułȂȁvقƂǂł̂B

2001/02/02 (Fri)
@܂[~BUEXgčsA̓dԓłSR}}K̃Re
B TEX ̗UfBł_ɂ͕sȂ()B

2001/02/03 (Sat)
@_̐ȂMeBMA[NXBMeBMA[NXɂ͂P
~̉lI


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

2001/01/28 (Sun)
x

2001/01/29 (Mon)
x

2001/01/30 (Tue)
ւ
 BMP ̌`ŉ摜ŜpӂĂo͂ɂ́H
\[XR[hJĂGfB^͂ȂH
GfB^͑ς\[XR[h͌Ă݂
foCXReLXg̗ႪQOOONPQPX̂
http://www.kab-studio.com/Programing/KabuU/200012b.html#20001219
ʂɏoĂ DC  CreateCompatibleDC() Ăяo
ō̂foCXReLXg
ɂ́uLoXvɂȂrbg}bv݂Ȃ
CreateCompatibleBitmap() ō SelectObject() œ\t
`悵Ă BitBlt() Ń DC ʂɏoĂ DC ɃRs[
KvȂƂ`悷悤ɂΑȂ͂

2001/01/31 (Wed)
ւ
܂
GfB^̃\[XR[h͂ςȂ
ʐMnNCAgœɃGfB^K{
foCXReLXg
urbg}bvĕtvĂ̂mȂl

2001/02/01 (Thu)
x

2001/02/02 (Fri)
x

2001/02/03 (Sat)
x
PTԂɂQ񂾂cc



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

EǉPF
| CLI Microsoft Microsoft.NET MSComm MSIL UNUSED_ALWAYS 

ET̏󋵁F
@TƍTA .NET ֌W̒Pꂪ\łǁA܂gĂȂ
ƂĂȂ茾t炸̉ɂȂĂ܂Bڂ VS.NET
oĎgĂ݂ĂɂȂ邩BĂ[ .NET gAv
ǂsccB


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

ev[g
#11 NXev[g̃o֐

@NXev[g̃ev[ǵAoϐ̌^ɂg
ȂĂ킯Ⴀ܂BƂ΁Ao֐̈߂lɂ
ev[ggƂł܂B

template< class type_MemVar >
class CTmplForMemFunc
{
public:
    type_MemVar MemFunc( type_MemVar p_MemVar )
    {
        return p_MemVar;
    }
};

@ĊɁAo֐̈߂lɃev[ggƂ
ł܂Bgp͂ȊB

void Use_CTmplForMemFunc()
{
    CTmplForMemFunc< int > cTmplForMemFunc;
    printf( "%d\n", cTmplForMemFunc.MemFunc( 100 ) );
    // 100
}

@uo֐̃ev[gvčlƁAȂ񂾂֐ev[g
ۂgłǁÁuoev[gvČ
Ƃ͂ƈႤ́B̗݂ɁANXev[g̃ev
[go֐Ɏgꍇɂ́AƃNXev[g̃e
v[gw肵ĎgȂ_BȂĂƂˁB
@uȂvĕ͌\dvBNXev[g̃ev[
ǵA}NƂgȂAŌ߂邱Ƃ͂܂B
Ag̓NXev[gł͂łȂĂƂˁB
A֐ev[ǵuŌ߂@\vgăNXev[g
̈߂邱Ƃ͂ł邩A@ĝ肩ȁB
ӂ͂ɂȂĂB̓o֐̃CX^XɂāB
ˁB


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wԂ`̂x݁AȂHx
u₪ȂƂx݂݂ˁv
wx݂Ƃq񏭂Ȃˁx
uL̔炢ˁAłO͂̂Ȃ񂾂ǁv
wǂ䂱ƁHx
u\Ɂqx݁rďoĂĂAO̓qbgȂ񂾂ǁv
wŋ߂͌񂾁BĂƂ́A\Ɠǂ܂ĂĂƁHx
uƂˁB͂łƂˁv
wႤ́qǂ܂ĂrĔ邩炢ǁAq́ccx
http://www.kab-studio.com/
_______________________________________________________________[KCM]


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

@Version 5.28
CxgbZ[W

uĂĂāI@EBhE𑀍삷Ƃ̓bZ[W𑗂Iv
wXg{bNXɕǉ̂ LB_ADDSTRING 𑗂܂Ix
uI@bZ[W͒PɂꂾȂv
wځA{^烁bZ[WẮIHx
ułBĂ[ccqCxgrĉĂHv
wNAĂƂˁB{^ꂽ̂Cxgˁx
uBŁÃCxgׂ͂āAbZ[WƂđĂ̂
̂łv
wccׂāHx
uׂāBˁB Spy++ NāAƏqĂƁr_
CAOɍ킹āv
wقx
uyEBhEz_CAÖԉɁy\zĂ͂
BybZ[Wzɂāv
wقB OK {^Hx
u烁j[́ybZ[Wz|yIvVzv
wقB_CAOox
uybZ[Wzy[Wɂāv
wقBɃXg{bNXAE̓`FbN{bNXςx
úy\郁bZ[WzĂ̒߂Ă݂āv
wȁ[񂩂ςˁ[ccSbZ[WHx
uASbZ[WB LB_ADDSTRING Hv
wzgccSł񂾂x
uẢ́yׂđIzIŁv
wAŕ񂾁Bcc 849 bZ[WIH@Ȃɂ́Hx
uƂ΍ŏ̕ BM_ Ă̂łB̓{^̃bZ[
Wv
wARg[̐bZ[W񂾂ˁx
u񑼂̂邯ǂˁBƂ肠̏Ԃ OK āv
wقx
uŁAqeXg_CAOr傿Ɓv
w傿Ɓcc[II@ Spy++ ɂȂ񂩂񂲂ςo
IIx
uSbZ[Wv
wASIH@ĂƂ͂ȂɁH@_CAOЂƂł񂾂
bZ[W΂΂΂ďĂ킯IHx
uĂ邩ǂ͕ʂƂāA󂯎Ă͂킯v
wAccx
uA܂j[́ybZ[Wz|yIvVzIŁv
wقx
uyׂăNAzőS̑IĂAy\郁bZ[Wz
̒ WM_MOUSEMOVE IŁv
w W 牺̕cc WM_MOUSEMOVE x
u OK āAłɁybZ[Wz|yNAzIŁv
wAbZ[Wx
uāB͐郁bZ[W̒A WM_MOUSEMOVE Ăb
Z[WĂ Spy++ ɕ\܂v
w WM_MOUSEMOVE Č炢Ȃ񂾂A}EXƁccbZ[
WĂIx
u}EXƓŁv
wXƑĂI@ꂾőĂ񂾂A
ςĂˁ[BA xPos  yPos āAW\
񂾁x
u LPARAM ̒lv
w LPARAM ĂȂ񂾂x
uOłA SendMessage() v
wÅ֐̈ˁx
u WM_MOUSEMOVE ƂÄɃ}EẌʒun킯B
 MSDN  WM_MOUSEMOVE Ă݂āv
wقB LOWORD Ƃ HIWORD ƂȂǁccx
u LPARAM ɂ x W y WĂāÂЂƂ
ô LOWORD ƂgĂĂƁv
w[Hx
u܂͒uƂāB܂Azg LPARAM ƂđĂ
ǁA Spy++ g̕`ŕ\ĂĂĂƁv
w֗ĂƂˁx
uƂ킯ł܂v
w܂AbZ[WăzgɂςėĂĂƂˁx
uāAq}EXJ[\rĂƂqCxgr
̂ЂƂĂƁv
wH@ႠÁq}EXrĂ̂ŁccƂ
CFileTestDlg::OnBtnShow() Ă΂A݂ȂƂłĂƁHx
uBj[́y\z|yClassWizardzŁv
w_CAOox
uybZ[W }bvz̃y[WŁAyNXz CFileTestDlg A
yIuWFNg ID z CFileTestDlg Ȃ̂mFĂAybZ[Wz
̉̕ccv
w WM_ Ă̂ςˁAꂪbZ[WȂ񂾂ˁBA
WM_MOUSEMOVE Ix
uIāy֐̒ǉz{^āyR[hҏWzāv
wققBA CFileTestDlg::OnMouseMove() Ċ֐łIx

void CFileTestDlg::OnMouseMove(UINT nFlags, CPoint point) 
{
    // TODO: ̈ʒuɃbZ[W nhp̃R[h
    // ǉ邩܂̓ftHg̏ĂяoĂ

    CDialog::OnMouseMove(nFlags, point);
}

w}EX𓮂ƂꂪĂ΂́Hx
uĂ΂Bāv

void CFileTestDlg::OnMouseMove(UINT nFlags, CPoint point) 
{
    TRACE
        ( "CFileTestDlg::OnMouseMove: %d, %d\n"
        , point.x, point.y );

    CDialog::OnMouseMove(nFlags, point);
}

w CPoint ccĂ܁[_ĈӖȂ񂾂낤ǁx
u CPoint  MFC ̃NXŁAq_̍Wri[邽߂̂́B
 MSDN ƂĂˁv
w񂶂rhĎsBA}EXŃAEgvbgEBh
EɏoĂIx

CFileTestDlg::OnMouseMove: 251, 194
CFileTestDlg::OnMouseMove: 253, 193
CFileTestDlg::OnMouseMove: 255, 193
...

uł_CAȌザȂƏoȂłv
wzgAXg{bNX̏łoȂx
u̓_CAÕbZ[WȂˁv
wꌩƁA x  y Ƀ}EẌʒuĂĂƁHx
uƁB Spy++ ɎĂłv
w񎗂ĂBłA LPARAM Ă̂Ȃ񂩏Ă񂾂
ˁx
uႠĂ݂܂傤B̂ TRACE() ̏Ńu[N|Cgv
wقx
uXebvAEg̃{^āBqJbRorẮv
wꉟƂǂȂ́Hx
ů֐甲āAĂяoĂ镔\́B܂qxX
ebvCĊ֐甲Ƃ܂ōsrĂ̂Iɂ
ĂĂĂƁv
w悤 CFileTestDlg::OnMouseMove() Ăł镔oĂ
ƂˁBۂƁx

BOOL CWnd::OnWndMsg
    (UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
()
    case AfxSig_vwp:
        {
            CPoint point((DWORD)lParam);
            (this->*mmf.pfn_vwp)(wParam, point);
            break;
        }
()
}

wccȂ񂩁AނAނłǁIx
uA͂ȂˁBƂ肠Å֐̈Ă݂āv
wAEBhEvV[WĂ̂ɎĂIx
uۂBꂪ MFC ̎IȃEBhEvV[WĂƂȁv
wĂƂ́A WM_MOUSEMOVE Ȃ lParam Ă̂Ƀ}EẌʒu
񂾁x
uŁA message  WM_MOUSEMOVE ĂƁA case ɓ܂v
w case ācc Ver 2.9 ( No.020 ) łˁBl if ݂
̂ł̂ˁBccłlƁA AfxSig_vwp ĂւĂ
Ȃ̂x
u WM_MOUSEMOVE ĈӖȂ񂾂ˁÁv
w܁A WM_MOUSEMOVE ł񒆂ɓĂƂ͕ǁBA
 CPoint point((DWORD)lParam); ĂƂ lParam ̂ CPoint ɓ
Ă񂾁x
uꂪ邩A CFileTestDlg::OnMouseMove()  CPoint ŊȒPɃ}
EX̍W擾łłv
wĂȂHx
ułƂ lParam oȂƃ_v
wʓ|ˁccx
uŁA (this->*mmf.pfn_vwp)(wParam, point);  
CFileTestDlg::OnMouseMove() ĂяoĂ܂v
wǂĂǂ߂Ȃ񂾂ǁccx
u܁A̕ӂ͂ǂł񂾂BƂSXebvAEgāv
wققققB AfxWndProcBase() Ă֐ccȂO̊
Ix
uꂪzg̃EBhEvV[WB܂Iv
w܂Hx
u MFC āAEBhEvV[WtĂāAbZ[W
āAĂ񂾂ĂƁv
wŁA CFileTestDlg::OnMouseMove() Ă΂܂łɕGȂƂȂ
ĂĂƂˁx
uA̕ӂȂӂɕ֗ɂɂ͂Ȃʓ|ȃVXeKv
Ȃ񂾂ˁv
w MFC JĂ̂ˁ[x
ûŁA CPoint Ƀ}EX̍WĂāAȒPɏł
ɂȂĂĂƁv
wӁ[x
uāIv
wāHx
uO̘bɖ߂܂傤B̑OΔ́v
w SendMessage() ݂Ȃ̂ȂāAo֐ڌĂԂ݂ȕ
̂ɂČ񂾂ǁccx
ũEBhEvV[W̎dg݂̓EBhEŶ̂̃VXe
Ɛ[ւĂāAiVɂჁbZ[W󂯎Ȃłv
w悤ɁAEBhEvV[WȂCxg̏łȂ
ÃEBhEvV[WĎdg݂͕ςȂ񂾂ˁx
uƁBŁAꂶsւv
w MFC ͂̕ӂ֗ɂȂ悤ɂĂāA烁o֐Ă΂
ȒPɂĂȂĂ񂾂ˁx
uƁv
wǂ́A̃p^[ˁccx
uAA CFileTestDlg::OnMouseMove() ̓eXgp폜
܂傤v
w폜Ⴆ΂́Hx
u__B܂ ClassWizard \āA݂ WM_MOUSEMOVE 
IĂy֐̍폜z{^āv
wقB_CAOoHx
uy͂zāyOKzA CFileTestDlg::OnMouseMove() ̕
폜Ănjv
w폜ărhƁAvx

/*
    Preview Next Story!
*/
uĎŃRg[ҍŏIIv
w˂x
u͂ƖʔłHv
wʂɂ[[킯Ȃǂccx
uӂӂH@łFXĂ݂Ă݂ǁv
wmɂ܁[AFX API gĂ݂肵Ă邯ǁccx
u󂾂ˁ[v
wƂ킯Ŏx
 Version 5.29 EBhEƃRg[̂܂Ƃ 
uɂÂIv
ẃAt@C폜 API Ă݂Ƃccx
u܁A܂IIv


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

ECodian Ƀy[Wǉ
@ Codian Ƀy[Wǉ܂B STL & iostream 傩 
iostream  #18 - #20 ǉB
[ Codian ]
http://www.kab-studio.com/Programing/Codian/


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


