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

    KAB-studio.h


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

    MF 2001/11/19(Mon) No.133
    zMF 3800 ( Mag2 + Pubzine )
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine ( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

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

Ezbgn[uɈbǉB
@ȂƂOl̃zbgn[uɈbǉł܂B̓oW
o񂪓oꂵ܂By[Xxǌ̂ĂȂŁ[B
[ Ol̃zbgn[u ]
http://www.kab-studio.com/Comic/HotHerb/


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

2001/11/11 (Sun)
@PсBȂ񂩂̂тB ReleaseDC() YĂccBWIu\
ȁ[B̎dAXPW[IɂƂH

2001/11/12 (Mon)
@d̓vO~OSB C łȂ񂿂ăIuWFNgw
Ă݂邱ƂɁBzbgn[uƁB~́A̓rWlX
g[gobOBăvO~XccB

2001/11/13 (Tue)
@vO~OB Wait ntɍlĂccBłKv
BvO~OĂccBςςƃCXgō̈ꖇB

2001/11/14 (Wed)
@VK[[IIij@ԑgĂPOĂ
ccꐶ̕soBd͎Bx[XVXe͏Be̕
ςȁH

2001/11/15 (Thu)
@AăvO~OB}`XbhgȂႢ
Ȃ̂߂ǂBnYŃg[gobOTÂ͍ccBu
bg{[iXŁB X-BOX cc˂B

2001/11/16 (Fri)
@d̓vO~OAłʂccBpX^֗BPP
Bꂩ͌\FX܂BłdijBCXg
ƁB

2001/11/17 (Sat)
@J[ĂՂƂ폑āAēdbBȂ񂩒dbBmXy͋
邱Ƃ̓BX^[g Suica ւ̑zBN̖A
B


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

@́@Nӂ@|PR|

uccv
úHv
ũKLĂBƁAjBɂc\炵
ccv
uȂ́ccȂv
@āAłBqB邽߂ɈlBĂ鉽
~߂邽߂ɈlB̏NƂ̑X̐lBƂňlBA
ꂪŒxB
ucc̎qƂAlĂǂɂ́Hv
uȂ牴sv
u䍁̂邠񂽂ȂAlł݂Ȃ邱Ƃ͂łȂ
v
ucĉ́A܂Ȃ񂾂ǂȁv
@͎̓˂邩̂悤ɕɌǍt΁\\
wB
uǂIHv
ǔ̊OAɂ̏NAɉjIv
@͋삯oĂB̎pAj͐VႭɂȂR
ƌĂB
uLɂ́AǂЂƂłȂ񂶂ȂHv
@ȌtAjɂ͕ĂȂBɕA܂œV̉H
߂̂悤Ȑgɂ܂Ƃđ镑Aڂ𗣂ƂłȂB
RƁAj삯oĂB
uӂcc܂A񂶂ȂIv
@āArYBɉ͌BrYA̔wĂ
A̐ɉ߂BƉArY݂͌ɌāAĕ
̕ւƋ삯ouԁI
u邼Iv
@ΐF̗tTU炵Ă͔яoB́Á\\
uccAȂȂ́Hv
@͍Xƒ𕑂ƁAnʂ𓥂ݍӂĒnB傫ȖځA
lɒAA镔͔ꂽтсA镔͗ΐF
̔畆ĂB̎ṕAƂe𒴂ĂB
ȗOƁAႤccv
@q͊wZPvoāAƂ͑SႤ݂ɋ|Ă
B̂ƂA\z𒴂ĂAڂ̑Oɂ邻́A܂
Ƃ͑SႤÂ̒mȂ݂B
uāA蒲ׂƍs܂ccv
@F̉߂E\AU肩ԂB
wЂƁIx
@肩p΂̂悤ɏ̏b߂ĔłB
Xs[h͂قǑȂAb͓D𒵂ˏグȂ獂XƔ񂾁B
wӂ݂Ix
@ŏ̈ꔭƂׂ͔̂ɂȂȂقǂ̑xŞF̉̎
ĂB̓񔭂̓ꔭ͊O邪Acꔭ̉͑_킸bɒ
B
w悧ނIIx
@ɂ₩ȕ`ėĂbւƎO̉Ȃ̂n
ʂɒ@tƓɑSĒeB
@ɂȂȂɋ킽A؁X̒ɉBĂB
Ăɂ߂B
uƁcccႠ܂񂩁v
@H@ƂrYɌāA͏΂񂾁B
uȗ]TAȂ񂶂Ȃ̂Hv
@̉EɍĂўF̉_uԁAO̉e؁X̒яo
B
                                                              ()


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
w΁A Java }KĂQTɈxȂ񂾂ˁccx
uƂ킯ŁAQP No.06 y|[tBYzs܂v
wۂ[ccӂށHx
uꂪʔ񂾁v
wʔHx
uAꒃʔ񂾂ˁ[BvO~OyȂv
w C++ łłHx
uB狳邩ˁ[v
wHx
ucc\悩B͂ƂA̍łv
wǂމlHx
uvO~ÖʂĂ邩v
wvO~O܂ȂȂȂ͐ΓǂނׂIx
uȂ񂩂VɂȂȂ悤ȁccv
http://www.kab-studio.com/Programing/JavaOOP/
_______________________________________________________________[KCM]


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

@Version 7.13
tHgς悤I

uO񕶎Ă݂Ax̓tHgςĂ݂܂傤v
wtHgĂ݂񂿂[ƂSVbNƂ́Hx
úBtHgς邾Ō\Ă邩ˁ[v
wAƊy݁x
uƁAȂ肾ǂƓȂ̂v

void CAnimeDlg::OnBDraw() 
{
    HDC hCanvasDC = ::GetDC( m_cCanvasStatic.GetSafeHwnd() );

    // tHg̏쐬B
    LOGFONT stLogFont;
    stLogFont.lfHeight = 100;
    stLogFont.lfWidth = 10;
    stLogFont.lfEscapement = 0;
    stLogFont.lfOrientation = 0;
    stLogFont.lfWeight = FW_NORMAL;
    stLogFont.lfItalic = FALSE;
    stLogFont.lfUnderline = FALSE;
    stLogFont.lfStrikeOut = FALSE;
    stLogFont.lfCharSet = SHIFTJIS_CHARSET;
    stLogFont.lfOutPrecision = OUT_DEFAULT_PRECIS;
    stLogFont.lfClipPrecision = CLIP_DEFAULT_PRECIS;
    stLogFont.lfQuality = DEFAULT_QUALITY;
    stLogFont.lfPitchAndFamily = DEFAULT_PITCH | FF_SWISS;
    strcpy( stLogFont.lfFaceName, "lr " );

    // tHg̍쐬B
    HFONT hFont = ::CreateFontIndirect( &stLogFont );

    // tHg̓ւB
    HFONT hOldFont = (HFONT)::SelectObject( hCanvasDC, hFont );

    // ܂傤B
    const char pchText[] = "";
    ::TextOut( hCanvasDC, 0, 0, pchText, strlen( pchText ) );

    // ЕtB
    ::SelectObject( hCanvasDC, hOldFont );
    ::DeleteObject( hFont );
}

wAI@Ȃ񂩑ςIIx
uPsڂ͂̃foCXReLXg̎擾B̂Ƃˁv
w LOGFONT Ă̂̕ϐācc\́H@x
uAtHg̏i[邽߂̍\́v
wtHg̏ccx
uƍ邩ȂǁAʓIɌqtHgrƂ͕ʂ
񂾂ˁBʓIȃtHǵAEBhEYtH_̒ FONTS tH
_ɓĂ̂łv
wA MS SVbNƂ݂񂿂[ƂBǍ
ylr zĂ邯ǁx
ufoCXReLXg֌ẂqtHgŕAʓIȃtHgA܂
lr ƂȂāAꂩ珑̍╝ȂX
f[^ƂĎĂ̂Ȃłv
w܂AǂAĂ̂f[^ƂēĂcc
ꂪ LOGFONT Ȃ̂ˁx
u䂱ƁBƂ LOGFONT::lfHeight ͏̍v
wAΎsĂȂBقBI@Ix
uΒႭȂ邵A LOGFONT::lfWidth 𑝂₹΁v
wAI@A݂͂łx
u Ver 7.11 ( No.131 ) ̃NbsOg΁v
w͂ݏo̖hIx
u܁A̕ӂ͂̑gݍ킹ȂƂłȂ邩ȁv
w̃p[^[́Hx
uccKɎĂ݂āv
wAeLg[Ix
ulgASmĂ킯Ȃ񂾂ˁv
wႠp[^[ƂǂČ߂ẮHx
uĒTĂ̂KɁv
wA}WœKȂ́IHx
uBȘbA API ׂ͍Ƃł镪AӂɃp
[^[ׂꍇ񂾂ˁBASĂL
Ȃv
wKvɂȂ璲ׂĎgHx
u䂱ƁBKvȂƂ邩Aׂ邩BƂ΁AtH
g߂̂ LOGFONT::lfFaceName Ƃv
w strcpy() ĕRs[̂ˁx
u Ver 5.07 ( No.072 ) łˁB LOGFONT::lfFaceName ͗vf 32 
̔zɂȂĂ邩AɎgtHgRs[΁v
w̃tHgŏo킯ˁBmɂ݂񂿂[ɂȂĂx
uӂ̂́AzgɐmɃtHgw肵Ȃ_Ă
ƁBƂ "lr " v
w΁cc "lr" ͑傫āAԂ̃Xy[X͏̂Ȃ񂾂ˁx
u͐mɂȂƃ_v
wccx
uɁAobɂēĂtHgႤAߑł
̂͂lr Ƃ炢v
wꏑ̂ƂʓĂȂˁx
uĂ[gȂccBȂ݂ɃtHgIԂȂv

void CAnimeDlg::OnBDraw() 
{
    CFontDialog cFontDlg;
    cFontDlg.DoModal();
}

wAtHg_CAOIx
u API Ȃ ChooseFont() ˁBftHg͂lr ɂāAƂ̓[
U[ɑIłăJX^}CYAĂ̂{ȁv
wȂ񂩂ȂĂƓȂ肻ˁ[x
uK͂傫Ȃ邩ˁBb߂āAʂ LOGFONT ɕKvȃp[
^[ꂽ_ŁAyuV݂AtHg GDI ̂Ђ
v
wȂႢȂB̂߂ API  CreateFontIndirect() ˁx
u API ŁA GDI ̃tHgEBhEYVXe̒ɍāA
𑀍삷nh HFONT ƂĕԂĂ邩v
wccꉞmF邯ǁAꂵĂAtHg͂
񂾂ˁx
uB FONTS tH_Ă肵ĂȂˁv
wƂ͕ʕȂ񂾂ˁx
uŁAƂ͂ƓBfoCXReLXg SelectObject() Ŏ
āAOg TextOut() ŕóv
wƁAĂtHgŕ킯ˁx
uƂ͂܂ɖ߂āAtHg폜v
w̕ӂ̃[Ɠˁx
u܁Ał̃|CǵA API ƕGȃp[^[͐؂Ă؂藣
Ȃv
wSȂŁAKvȎɕKvȂׂ̂āAƂ͑̂
pAˁx
u䂱ƁBÃXebvɈڂ܂傤B̓tHgꂩ
ǁAۂɂ́q₵rƂqtHg
ςrĂƂ̕Ǝv񂾂ˁv
w܂łȂĂAftHg̃p[^[ƂKvx
uƂ킯ŁA IDC_S_CANVAS ̃tHg擾Ă݂܂傤v

void CAnimeDlg::OnBDraw() 
{
    HDC hCanvasDC = ::GetDC( m_cCanvasStatic.GetSafeHwnd() );

    // tHg̃nh擾B
    HFONT hCanvasFont
         = (HFONT)::GetCurrentObject( hCanvasDC, OBJ_FONT );

    // tHg̏擾B
    LOGFONT stLogFont;
    ::GetObject( hCanvasFont, sizeof( stLogFont ), &stLogFont );

    // tHg̕\B
    TRACE( "%s\n", stLogFont.lfFaceName );
    // System
}

w[ƁAPsڂ͂̃foCXReLXg郄cˁB̍s
 GetCurrentObject() ͏߂Č API ˁx
u API ́AfoCXReLXgĂ GDI 擾邽߂̂
́BȒPɌ΁A SelectObject() ̖߂lƓv
w[A܂ȂŁA܂ŎĂ̂擾Ȃ炱 API 
Ă킯ˁx
u䂱ƁBŁA LOGFONT pӂāA hCanvasFont 
tHgRs[܂v
wĂ̂ GetObject() ݂ˁx
uA API  hFont ĂtHg̃f[^ stLogFont 
Rs[܂v
wŁAtHg stLogFont.lfFaceName ɓĂ邩炻oĂ
킯ˁBł System āHx
uVXeA܂EBhEYɎĂVXetHgĈ
BƂꂶᕪɂˁv
w̎A System Ă΃VXêɁHx
uB΁yʂ̃vpeBzŎw肵̂o邩BA
ƁAۂɁyʂ̃vpeBzŎw肵tHg擾ꍇɂ
SystemParametersInfo()  API g΂v
wAĂČǁAg̓ccx
u낤ˁ[B܁A̘͐bĎŁv
w܂Ƃ߂ƁA̋tˁx
u LOGFONT Ƀf[^āACreateFontIndirect() ŃtHg
āÂƂ HFONT  SelectObject() ɓnăfoCXR
eLXgɎ܂v
wx GetCurrentObject()  HFONT āA GetObject()  
LOGFONT Ƀf[^Ă炦΁AǂtHgĂ邩
킯ˁx
uƁBAŌɂ̃tHgf[^ɕʂ̃tHg
ĂŕĂ݂܂傤v

void CAnimeDlg::OnBDraw() 
{
    HDC hCanvasDC = ::GetDC( m_cCanvasStatic.GetSafeHwnd() );

    HFONT hCanvasFont
        = (HFONT)::GetCurrentObject( hCanvasDC, OBJ_FONT );
    LOGFONT stLogFont;
    ::GetObject( hCanvasFont, sizeof( stLogFont ), &stLogFont );

    // tHg̕ύXB
    strcpy( stLogFont.lfFaceName, "lr " );

    HFONT hFont = ::CreateFontIndirect( &stLogFont );
    HFONT hOldFont = (HFONT)::SelectObject( hCanvasDC, hFont );

    const char pchText[] = "";
    ::TextOut( hCanvasDC, 0, 0, pchText, strlen( pchText ) );

    ::SelectObject( hCanvasDC, hOldFont );
    ::DeleteObject( hFont );
}

w[ƁccAǂ LOGFONT ɃRs[ĂāÃtHg
Ă񂾂ˁx
u LOGFONT ̂قƂǂ̃p[^[ IDC_S_CANVAS ̃tH
ĝ܂܁AtHgv
w CreateFontIndirect() ŐVtHgƂčāAƂ͓
ւƂˁBH@蒼ȂႢȂ́Hx
u݂ˁBp[^[ς邾ċ@\͂Ȃ݂B
Ač폜āAČJԂȂƂˁv
wʓ|ˁ[x

/*
    Preview Next Story!
*/
wȂ񂩃foCXReLXg܂Ėʓ|x
uꂩǂǂʓ|ɂȂĂv
wI@Ȃ́Hx
unhǂǂ񑝂Ă邩ˁv
w邭炢ȂƂȂȂHx
uvO̕G̓f[^̓ɔႷ邩˂v
wIx
uƂȂƂˁv
wȂƂ˂x
uƂ킯Ŏv
 Version 7.14 nh̊Ǘ 
wɂÂIx
uAf[^̓đSRȂv
wȂ񂩂Ix


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

EXVȂB
@[AdZȂ鎞x邩ǂccB


////////////////////////////////////////////////////////////////////
/*                          Ӂ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 - 2001 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com
*/
////////////////////////////////////////////////////////////////////

