Date post: | 11-Feb-2018 |
Category: |
Documents |
Upload: | fco-javier-ceballos-sierra |
View: | 279 times |
Download: | 7 times |
of 62
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
1/62
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
2/62
Ubztca J..C|abjcjbmidz |crc Xbi:?
Ejm) Gcubdr Jdocaamz Zbdrrc\rmedzmr vbvtacr fd ac
Dzjtdac \mabvjibjc Zt|drbmrTibudrzbfcf fd Cajca
`vv|7--xxx)egjdocaamz)dz
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
3/62
Ubztca J..) C|abjcjbmidz |crc Xbi:? (? dfbjbi") Ejm) Gcubdr Jdocaamz Zbdrrc
Fd ac dfbjbi7 _C+KC 3222
KC_JCZ JMKD_JBCADZ7 Acz fdzbhicjbmidz tvbabwcfcz |mr acz dk|rdzcz |crc fbzvbihtbr
ztz |rmftjvmz ztdadi zdr kcrjcz rdhbzvrcfcz) _C+KC `c bivdivcfm c am acrhm fd dzvd aborm fbzvbihtbr
acz kcrjcz jmkdrjbcadz fd amz vrkbimz fdzjrb|vbumz! zbhtbdifm da dzvbam fd kczjtacz std tvbabwc
da ecorbjcivd! zbi bivdijbi fd bierbihbr ac kcrjc zam di odidebjbm fda |rm|bdvcrbm fd ac kbzkc)
_C+KC dz tic kcrjc jmkdrjbca rdhbzvrcfc)
Zd `c |tdzvm da kpbkm dk|dm di merdjdr ca adjvmr tic biemrkcjbi jmk|advc |rdjbzc)
Zbi dkocrhm! _C+KC Dfbvmrbca im cztkd ibihtic rdz|mizcobabfcf fdrbucfc fd zt tzm!
ib vck|mjm |mr jtcastbdr ubmacjbi fd |cvdivdz ib mvrmz fdrdj`mz fd vdrjdrcz |crvdz std |tfbdrcimjtrrbr) Dzvc |toabjcjbi vbdid |mr mogdvm |rm|mrjbmicr timz jmimjbkbdivmz |rdjbzmz cjrdfbvcfmz
zmord da vdkc vrcvcfm) Zt udivc im zt|mid |crc da dfbvmr ibihtic emrkc fd czbzvdijbc adhca!
cfkbibzvrcvbuc ib fd ibihi mvrm vb|m) Jczm fd |rdjbzcrzd czdzmrc adhca t mvrc emrkc fd ctfc
dp|drvc! fdodi otzjcrzd amz zdrubjbmz fd ti |rmedzbmica jmk|dvdivd)
_dzdrucfmz vmfmz amz fdrdj`mz fd |toabjcjbi di jtcastbdr bfbmkc)
Ibihtic |crvd fd dzvd aborm |tdfd zdr rd|rmftjbfc! hrcocfc di zbzvdkc
fd cakcjdickbdivm m vrcizkbvbfc di emrkc cahtic ib |mr jtcastbdr |rmjdfbkbdivm! c
zdc dadjvribjm! kdjibjm! rd|rmhrebjm! kchivbjm m jtcastbdr mvrm! zbi ctvmrbwcjbi
|rdubc |mr dzjrbvm fd _C+KC> zdhi am fbz|tdzvm di da crvjtam 4:6+obz fda Jfbhm \dica
ubhdivd zdri jczvbhcfmz jmi ac |dic fd crrdzvm kcmr ktavc stbdidz bivdijbmicfckdivd!
rd|rmftgdrdi m |achbcrdi! di vmfm m di |crvd! tic morc abvdrcrbc! crvzvbjc m jbdivebjc)
Dfbvcfm |mr7
_C+KC Dfbvmrbca
Jvrc) Jcibaacz! 366
?0
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
4/62
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
5/62
IFBJD\_AMHM )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) PBP
\C_VD 3) \_MH_CKCJBI OZBJC JMI ACZ KEJ )))) 3
JC\VTAM 3) ST DZ UBZTCA J..= ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) :
DIVM_IM FD FDZC__MAAM FD UBZTCA J.. )))))))))))))))))))))))))))))))))))))))))) 8Udivcic fda |rmdjvm ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 8Udivcic fd dfbjbi ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 0Udivcic fd zcabfc ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 2Tvbabfcfdz ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 2
JMKM J_DC_ TIC C\ABJCJBI )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 3 |crc kmfbebjcram zbk|ad+kdivd zdadjjbidam) Fdz|tz dfbvd ztz |rm|bdfcfdz) Di ac jcgc fd vdpvmJc|vbmi zd dzjrbod da imkord fda kdi std zd fdzdc dfbvcr! da jtca c|crdjdrftrcivd da fbzdm ac dgdjtjbi fd ac c|abjcjbi di ac ocrrc fd kdiz) Bizdrvd
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
25/62
JC\VTAM 57 V_COCGCIFM JMI KDIZ 302
ti ck|drzcif (%" civdz fd ac advrc std fc cjjdzm ca kdi) Da tztcrbm |mfrzdadjjbmicr dzvd kdi |tazcifm ac vdjac Cav kz ac vdjac std fc cjjdzm cakdi! ac jtca c|crdjd ztorccfc) Da imkord fd ti kdi im aaduc BF)
C jmivbitcjbi! |crc ccfbr dadkdivmz c ti kdi! zdadjjbmid da rdjvihtamucjm fdocgm fda imkord fda kbzkm) \mr dgdk|am! di ac ebhtrc zbhtbdivd! Cr+j`bum! Dfbjbi Ctfc zmi kdiz)
:) Bivrmftjbr amz dadkdivmz std jmk|midi da kdi) Di ac jcgc fd vdpvm Jc|vbmizd dzjrbod da imkord fda dadkdivm fda kdi) Bizdrvd ti ck|drzcif (%" civdzfd ac advrc std fc cjjdzm ca dadkdivm) Di ac jcgc fd vdpvmBF zd dzjrbod da bfdi+vbebjcfmr tvbabwcfm di da jfbhm |crc rdedrbrzd ca dadkdivm! m obdi zd dabhd tim
fd ac abzvc) AmzBF fd ac abzvc! c vbdidi etijbmicabfcf czbhicfc di tic c|abjc+jbi jmizvrtbfc jmiC||Xbwcrf) \mr dgdk|am!BF]C\\]DPBVdz da bfdivbebjc+fmr fd ac mrfdi Zcabrfda kdiCrj`bum! c dzv bk|adkdivcfc)
6) Jrdcr ti ztokdi) Ti dadkdivm |tdfd zdr vckobi ti ztokdi) \crc std tidadkdivm zdc ti ztokdi vbdid std cjvbucr (|midr c ucamr vrtd" zt |rm|bdfcf\m|+t|) \mr dgdk|am! di ac ebhtrc zbhtbdivd da dadkdivm Htcrfcrdz ti zto+kdi)
4) Ccfbr ti zd|crcfmr) Tvbabwcifm zd|crcfmrdz |tdfd chrt|cr acz rfdidz dietijbi fd zt cjvbubfcf) \crc bizdrvcr ti zd|crcfmr! zdadjjbmid da rdjvihtam
ucjm cjvbud ac |rm|bdfcf Zd|crcvmr) \mr dgdk|am! di da kdiCrj`bum zd `cbizdrvcfm ti zd|crcfmr civdz fd ac mrfdi Zcabr)
5) Jdrrcr da dfbvmr fd kdiz) Tic udw std `cc ebicabwcfm da fbzdm! dgdjtvd acmrfdi Zcud fda kdi Ebad jbdrrd ac udivcic jmrrdz|mifbdivd ca kdi) Ac|acivbaac fda kdi zd htcrfc di da ebj`drm fd rdjtrzmz)
\crc omrrcr ti kdi m tim fd ztz dadkdivmz (mrfdi! ztokdi m zd|crcfmr" zd+adjjbidam |tazd ac vdjacOmrrcr(Fda")
Tvbabwcifm da rcvi acz vdjacz Jvra m Z`bev(Kcz"! |tdfd jm|bcr m kmudr amzkdiz m ztz dadkdivmz fd tic |mzbjbi c mvrc) Bijatzm! zb vbdid ucrbmz rdjtrzmz fddzvd vb|m! |tdfd crrczvrcr kdiz m dadkdivmz bifbubftcadz! fd tic udivcic c mvrc)
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
26/62
32< UBZTCA J..) C\ABJCJBMIDZ \C_C XBI:?
Jmkm dgdrjbjbm! jrdd tic c|abjcjbi ZFB fdimkbicfcKditz jmi tic ocrrc fdkdiz bhtca c ac kmzvrcfc di acz ebhtrcz civdrbmrdz) Fdz|tz! htcrfd ac c|abjcjbi!jmk|adac dgdjvdac) Jmk|rtdod jkm `cjbdifm jabj zmord jtcastbdr kdi zvdzd fdz|abdhc kmzvrcifm ztz dadkdivmz)
Di hdidrca! amz dadkdivmz std jmk|midi jcfc kdi im dzvcri m|drcvbumz`czvc im tibr da jfbhm jmrrdz|mifbdivd) Im mozvcivd! C||Xbwcrf`cjd std caht+icz rfdidz jmkm Zcabrc dzvi m|drcvbucz! |mr am std im idjdzbvcrdkmz dzjrbobrtic etijbi |crc daacz! c im zdr std fdzddkmz kmfbebjcr zt jmk|mrvckbdivm)
\crc fdebibr jkm fdod rdz|mifdr jcfc mrfdi fd ti kdi ca dudivm jabj! `cstd dzjrbobr tic etijbi |crc jcfc tic fd daacz) Acz rfdidz fd ti kdi zam rdz+
|mifdi ca dudivm jabj> jtcifm ti tztcrbm zdadjjbmic tic mrfdi fd ti kdi! zd di+uc ti kdizcgd XK]JMKKCIF)
\crc dzjrbobr tic etijbi |crc tic mrfdi fd ti kdi dgdjtvd JaczzXbwcrfdi ac udivcic KEJ JaczzXbwcrfzdadjjbmid ac jaczd std uc c kcib|tacr dzvc mr+fdi! di itdzvrm jczm JKditzUbdx! da bfdivbebjcfmr fda kdi!BF]DFBV]JM\R! dakdizcgd std fdzdc kcib|tacr! JMKKCIF! `chc jabj di da omviCff Etijvbmi)JaczzXbwcrfccfbr ca ebj`drm )j|| ad kmzvrcr da dzstdadvm fda jmivrmacfmr |c+rc dzc mrfdi! am std ad |drkbvbr dzjrbobr da jfbhm std vbdid std dgdjtvcrzd di rdz+|tdzvc c dzd kdizcgd) \mr dgdk|am! da jmivrmacfmr |crc ac mrfdi Jm|bcrfda kdiDfbjbi fd itdzvrc c|abjcjbiKditz! zdrc cz7
umbf JKditzUbdx77MiDfbvJm|"~-- Ccfc da jfbhm fda jmivrmacfmr cst
{
\rm|bdfcfdz fd ti kdi
Acz |rm|bdfcfdz std |tdfdi zdadjjbmicrzd di ac udivcic fd fbzdm fd kdiz zmiBF! Zd|crcvmr! J`djndf! \m|+t|! Hrcdf!Bicjvbud!@da|!Ordcn! \rmk|v_bh`v+vm+adev mrfdr cif cabhikdiv)
Ac |rm|bdfcf BF |drkbvd bfdivbebjcr di da jfbhm c ti kdi m c tim fd ztzdadkdivmz)
Ac |rm|bdfcf Zd|crcvmr|drkbvd bijatbr tic aidc hrebjc fd zd|crcjbi di+vrd fmz dadkdivmz fd ti kdi)
Ac |rm|bdfcf J`djndfdz vba |crc bifbjcr da dzvcfm (zdadjjbmicfm! im zdadj+jbmicfm" fd ac m|jbi c ac std `cjd rdedrdijbc ac mrfdi) Jtcifm zd zdcac dzvc
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
27/62
JC\VTAM 57 V_COCGCIFM JMI KDIZ 323
|rm|bdfcf (zd |mid c ucamr vrtd" c|crdjd tic kcrjcoc ac bwstbdrfc fda dadkdivmfda kdi)
Ac |rm|bdfcf \m|+t| fdebid ti dadkdivm jmkm ti ztokdi)
Ac |rm|bdfcf Hrcdfdz vba |crc fdzcjvbucr tic mrfdi di ti kmkdivm di dajtca im vbdid zdivbfm std dzv cjvbuc) \mr dgdk|am! zb dzvckmz vrcocgcifm jmi tidfbvmr im vdidkmz zdadjjbmicfm ti oamstd fd vdpvm! im vbdid zdivbfm std ac mr+fdi Jm|bcrfda kdi Dfbjbi dzv cjvbuc) Jtcifm zd `cjd jabj di tic mrfdi fd tikdi! zvc zdr dgdjtvcfc zb zt |rm|bdfcf Hrcdfim dzv cjvbucfc) Zb ac |rm|bdfcfHrcdfdzv cjvbucfc! ac mrfdi zd ktdzvrc di vmim hrbz im |tdfd zdr dgdjtvcfc) Zbdzvc |rm|bdfcf zd cjvbuc ftrcivd da fbzdm! ac mrfdi jmrrdz|mifbdivd c|crdjdr di
vmim hrbz (fdzcjvbucfc" jtcifm zd dgdjtvd ac c|abjcjbi> ahbjckdivd jmi ac bivdi+jbi fd cjvbucrac jtcifm zdc |rdjbzm)
Ac |rm|bdfcfBicjvbud dz bhtca std ac |rm|bdfcf Hrcdfjmi ac fbedrdijbc fdstd ac mrfdi c|crdjd jmi da vdpvm imrkca) Zb ac |rm|bdfcf Hrcdfdz vrtd ac |rm+|bdfcfBicjvbud dz zbdk|rd vrtd)
Ac |rm|bdfcf @da| |drkbvd std ti kdi! |mr dgdk|am Ctfc! c|crdwjc di dakcrhdi fdrdj`m (zam vbdid dedjvm ftrcivd ac dgdjtjbi") Dzvc cjjbi! vckobi|tdfd zdr rdcabwcfc |mr ac |rm|bdfcf_bh`v+vm+adev mrfdr cif cabhikdiv)
Ac |rm|bdfcfOrdcn|tdfd vmkcr tim fd amz zbhtbdivdz ucamrdz7
Imid (ucamr |mr mkbzbi"7 Im vbdid dedjvm) Jmatki7 Di tic ocrrc fd kdiz dzvvbjc! dzvd ucamr |mid da dadkdivm di tic
itduc aidc) Di kdiz eamvcivdz! dzvd ucamr |mid da dadkdivm di tic itduc jm+atkic zbi aidc fbubzmrbc divrd acz jmatkicz)
Ocr7 Bhtca std Jmatki dpjd|vm |crc kdiz eamvcivdz7 da ucamr Ocr zd|crc acitduc jmatkic fd ac jmatkic dpbzvdivd jmi tic aidc udrvbjca)
Dzvc |rm|bdfcf! bhtca std ac civdrbmr (@da|" cedjvc ca cz|djvm fda kdi zamftrcivd ac dgdjtjbi! im ftrcivd da fbzdm)
Ac |rm|bdfcf \rmk|v jmivbdid da vdpvm std c|crdjd di ac ocrrc fd dzvcfmjtcifm da dadkdivm dz zdadjjbmicfm) Da vdpvm dz jmamjcfm di ac vcoac fd jcfdicz fdjcrcjvdrdz jmi da kbzkm bfdivbebjcfmr std da dadkdivm fda kdi)
Ac |acivbaac fda kdi cakcjdicfc di da ebj`drm fd rdjtrzmz ()rj" bijmr|mrc jc+
fc tic fd acz |rm|bdfcfdz dz|djbebjcfcz |crc jcfc tim fd amz dadkdivmz fd ackbzkc) \mr dgdk|am! ac ocrrc fd kdiz fbzdcfc |crc batzvrcr am `czvc c`mrc dp+|tdzvm zd jmrrdz|mifd jmi ac zbhtbdivd |acivbaac7
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
28/62
32? UBZTCA J..) C\ABJCJBMIDZ \C_C XBI:?
BF_]KCBIE_CKD KDIT \_DAMCF FBZJC_FCOADODHBI\M\T\ /%Crj`bum/
ODHBIKDITBVDK /%Corbr)))QvJvra.C/! BF]EBAD]M\DI\M\T\ /%Htcrfcr/ODHBIKDITBVDK /%Kbzkm imkord/! BF]C_J@BUM]HTC_FC_]KBZKMIMKO_DKDITBVDK /%Mvrm imkord/! BF]C_J@BUM]HTC_FC_]MV_MIMKO_D
DIFKDITBVDK ZD\C_CVM_KDITBVDK /%Zcabr/! BF]C\\]DPBV
DIF\M\T\ /%Dfbvcr/
ODHBIKDITBVDK /Jmr%vcrQvJvra.P/! BF]DFBV]JTV! H_CRDFKDITBVDK /%Jm|bcrQvJvra.J/! BF]DFBV]JM\R! H_CRDFKDITBVDK /%\dhcrQvJvra.U/! BF]DFBV]\CZVD
DIF\M\T\ /C%tfc/! @DA\ODHBIKDITBVDK /%Cjdrjc fd Kdiz)))/! BF]C\\]COMTV
DIFDIF
Mozdrud jkm jcfc kdi m ztokdi uc dijcodwcfm |mr ac |cacorc jacud \M+\T\ amz dadkdivmz fd jcfc tim fd daamz |mr ac |cacorc jacud KDITBVDK) Czkbzkm |tdfd mozdrucr std acz rfdidz Jmrvcr Jm|bcrc|crdjdri bibjbcakdivdfdzcjvbucfcz di hrbz (H_CRDF" std da kdiCtfc c|crdjdr c ac fdrdj`c diac ocrrc fd kdiz (@DA\")
FDZC__MAAM FD TI DFBVM_ FD VDPVMZ
Itdzvrc |rpbkc c|abjcjbi uc c jmizbzvbr di da fdzcrrmaam fd ti dfbvmr fd vdpvmz)
Dzvd dfbvmr! ctistd fd |rdzvcjbmidz kt abkbvcfcz! uc c zdrubr |crc |midr di|rjvbjc amz kdiz |crc bijmr|mrcr itdumz jmijd|vmz jmkm amz c|mrvcfmz |mr aczjcgcz fd vdpvm ktavbaidc da |mrvc|c|dadz (fdimkbicfm Jab|omcrfdi Xbifmxz")
Ti dfbvmr fd vdpvmz |crdjd c zbk|ad ubzvc tic c|abjcjbi kt jmk|abjcfc! |d+rm c`mrc udrdkmz std im dz cz) Ubztca J.. vbdid kdjcibzkmz fd divrcfc std`cjdi ztkckdivd zdijbaacz acz c|abjcjbmidz jmkm zvc)
Tvbabwcifm tic fdebibjbi zdijbaac! ti dfbvmr fd vdpvmz dz tic jcgc fd vdpvm jmi
kavb|adz aidcz! Ubztca J.. zm|mrvc dzvd vb|m fd jcgcz)
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
29/62
JC\VTAM 57 V_COCGCIFM JMI KDIZ 32:
Jcgc fd vdpvm ktavbaidc
Da cz|djvm da jmk|mrvckbdivm fd tic jcgc fd vdpvm dzv kt bieatdijbcfm |mr acz|rm|bdfcfdz! Ktavbabid! @mrbwmivca zjrmaa! Udrvbjca zjrmaa Xciv rdvtri! acz jtc+adz! jtcifm zd vrcvc fd tic jcgc fd vdpvm jrdcfc fdzfd tic |acivbaac! |tdfdi zdr dz+vcoadjbfcz zmackdivd ftrcivd da fbzdm)
Ac |rm|bdfcf Ktavbabid |drkbvd tvbabwcr tic jcgc fd vdpvm jc|cw fd jmivdidrucrbcz aidcz) Jtcifm |midkmz ti jmivrma fd dzvd vb|m di ti emrktacrbm m di ticjcgc fd fbamhm |tazckmz ac vdjac Divrcr! ac rdz|tdzvc |mr mkbzbi dzv dijckb+icfc c cjvbucr da omvi |mr mkbzbi) Zb! di dzvd jczm! am std fdzdckmz dz std zdbizdrvd di da vdpvm ti J_.AE(rdvmrim fd jcrrm kz cucijd fd aidc"! vdidkmz std
dzvcoadjdr ac |rm|bdfcf Xciv rdvtri)
Acz |rm|bdfcf @mrbwmivca zjrmaa |rm|mrjbmic tic ocrrc fd fdz|acwckbdivm`mrbwmivca ac |rm|bdfcf Udrvbjca zjrmaa tic ocrrc fd fdz|acwckbdivm udrvbjca) Dz+vcz |rm|bdfcfdz fd tic jcgc fd vdpvm im vbdidi std zdr jmietifbfcz jmi da jmivrmaocrrc fd fdz|acwckbdivm std udrdkmz kz cfdacivd)
Zb di tic jcgc fd vdpvm ktavbaidc im `c tic ocrrc fd fdz|acwckbdivm `mrb+wmivca zt |rm|bdfcfCtvm @Zjrmaa im dzv cjvbucfc! tic aidc fd vdpvm std cajci+jd da dpvrdkm fdrdj`m fd ac jcgc! jmivbitcr ctvmkvbjckdivd di ac aidczbhtbdivd)
\crc jrdcr da dfbvmr std udkmz di ac ebhtrc! amz |czmz zmi kt zdijbaamz7
3) Tvbabwcifm C||Xbwcrf! jrdd da dzstdadvm |crc tic itduc c|abjcjbi ZFB stdtvbabjd ti emrktacrbm jmkm udivcic |rbijb|ca) Fdimkidac Dfbvmr)
?) Tvbabwcifm da dfbvmr fd fbamhmz! fbotgd zmord da emrktacrbm! std uc c zdr acubzvc fd ac udivcic |rbijb|ca! tic jcgc fd vdpvm cgzvdac ca vckcm std fdzdd>|mr dgdk|am! ca vckcm fda emrktacrbm)
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
30/62
326 UBZTCA J..) C\ABJCJBMIDZ \C_C XBI:?
:) \mihc ac |rm|bdfcfKtavbabid c ucamr vrtd (zdadac") Dzvm |drkbvd dzjrbobr diac jcgc ucrbcz aidcz fd vdpvm) \mr mkbzbi! dzvc |rm|bdfcf vbdid da ucamr ecazd!am std bifbjc std ac jcgc fd vdpvm zam |tdfd jmivdidr tic aidc)
6) \mihc acz |rm|bdfcfdz@mrbwmivca zjrmaa Udrvbjca zjrmaa c ucamr vrtd) Fd dzvcemrkc! ac jcgc fd vdpvm stdfc fmvcfc fd ocrrcz fd fdz|acwckbdivm `mrbwmivca udrvbjca) \mr mkbzbi! dzvcz |rm|bdfcfdz vbdidi ucamr ecazd! am jtca bifbjc stdim `c ocrrcz fd fdz|acwckbdivm)
4) \mihc ac |rm|bdfcf Xciv rdvtri c ucamr vrtd) Dzvm ad |drkbvbr zcavcr c ticitduc aidc jtcifm |tazd Divrcr)
5) \mihc ac |rm|bdfcfOmrfdrc ucamr ecazd |crc dabkbicr da omrfd fd ac jcgc)Htcrfd ac c|abjcjbi! jmk|adac dgdjvdac) \rtdod c dzjrbobr vdpvm! cjvd zm+
ord acz ocrrcz fd fdz|acwckbdivm! kmfbebstd da vdpvm! zdadjjbmid vdpvm! bizdrvd vdp+vm omrrd vdpvm) Jmkm |mfr jmk|rmocr! vmfcz dzvcz m|drcjbmidz dzvi bk|ajbvczzbi dzjrbobr icfc fd jfbhm)
\crc `cjdr kz m|drcvbum itdzvrm dfbvmr! uckmz c ccfbrad ztz |rm|bcz rfdidzfd Fdz`cjdr! Jmrvcr! Jm|bcr \dhcr) Dzvcz rfdidz imz |drkbvbri zdadjjbmicrti vdpvm kmudram m ft|abjcram fdivrm fda kbzkm fmjtkdivm! m aaducram c mvrmfmjtkdivm)
Vrcocgcr jmi vdpvm zdadjjbmicfm
Di jtcastbdr dfbvmr fd vdpvm da tztcrbm |tdfd zdadjjbmicr vdpvm tvbabwcifm da rcvim da vdjacfm) Jmi da rcvi! c|tivd ca jmkbdiwm fda vdpvm c zdadjjbmicr crrczvrdjmi da omvi bwstbdrfm |tazcfm `czvc `codr zdadjjbmicfm vmfm da vdpvm) Jmi da vd+jacfm! zbvd da |tivm fd bizdrjbi fmifd fdzdc bibjbcr ac zdadjjbi! kcivdibdifm|tazcfc ac vdjac Z`bev (kczjtacz" fdz|acjd da |tivm fd bizdrjbi tvbabwcifm aczvdjacz fd fdz|acwckbdivm) Ubztca J.. fc ctvmkvbjckdivd dzvc jc|cjbfcf c acz jc+
gcz fd vdpvm> im mjtrrd cz jmi ac etijbmicabfcf fd jmrvcr! jm|bcr |dhcr)
Cfdkz fd ac jc|cjbfcf fd zdadjjbi! ac etijbmicabfcf zm|mrvcfc |mr ac jaczdJDfbv |crc acz jcgcz fd vdpvm bijatd tic zdrbd fd etijbmidz std |drkbvdi vrcocgcrjmi da vdpvm zdadjjbmicfm! c vrcuz fda |mrvc|c|dadz (Jab|omcrf") Cahticz fd dzvczetijbmidz zmi Tifm! Jadcr! Jm|! Jtv! \czvd! HdvZda ZdvZda)
Ac etijbi Tifm |drkbvd fdz`cjdr ac avbkc m|drcjbi `dj`c di da jmivrma fd
dfbjbi)
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
31/62
JC\VTAM 57 V_COCGCIFM JMI KDIZ 324
Ac etijbi Jadcr omrrc da vdpvm zdadjjbmicfm cjvtcakdivd di da jmivrma fddfbjbi)
Ac etijbi Jm| jm|bc da vdpvm cjvtcakdivd zdadjjbmicfm di da jmivrma fddfbjbi! di da |mrvc|c|dadz)
Ac etijbi Jtv jmrvc (omrrc" da vdpvm cjvtcakdivd zdadjjbmicfm di da jmivrmafd dfbjbi am jm|bc di da |mrvc|c|dadz)
Ac etijbi \czvd bizdrvc da vdpvm std jmivbdid cjvtcakdivd da |mrvc|c|dadz! dida jmivrma fd dfbjbi c |crvbr fda |tivm fd bizdrjbi)
Ac etijbi HdvZda movbdid acz |mzbjbmidz fda |rbkdr jcrjvdr zdadjjbmicfm fda |rbkdr jcrjvdr im zdadjjbmicfm di da jmivrma fd dfbjbi)
Ac etijbi ZdvZda |drkbvd zdadjjbmicr ti rcihm fd jcrcjvdrdz di da jmivrma fddfbjbi! zbkbacr c jmkm am `cjdkmz jmi da rcvi m jmi da vdjacfm)
Tvbabwcjbi fda |mrvc|c|dadz
Da |mrvc|c|dadz fd Xbifmxz |drkbvd vrcizedrbr fcvmz fd ticz c|abjcjbmidz c mvrcz)
Ktj`cz c|abjcjbmidz std kcidgci vdpvm bijatdi ti kdi fd Dfbjbi jmi aczrfdidz Jmrvcr! Jm|bcr \dhcr) Jtcifm da tztcrbm zdadjjbmic vdpvm dgdjtvcJmrvcrm Jm|bcr! ac c|abjcjbi vrcizebdrd amz fcvmz zdadjjbmicfmz di da fmjtkdivmca |mrvc|c|dadz jtcifm dgdjtvc ac mrfdi \dhcr! ac c|abjcjbi vrcizebdrd amz fcvmzfda |mrvc|c|dadz ca fmjtkdivm) Amz fcvmz zdhtbri di da |mrvc|c|dadz `czvc std zddgdjtvd ac mrfdi fd Jmrvcrm Jm|bcritduckdivd)
Amz fcvmz di da |mrvc|c|dadz dzvi di ti emrkcvm |crvbjtacr! jmkm |tdfd zdrvdpvm! kc|c fd obvz m kdvccrj`bum! divrd mvrmz) Dzvmz emrkcvmz zmi bfdivbebjcfmz|mr jmizvcivdz7
JE]VDPV7 Tic jcfdic fd jcrcjvdrdz CIZB vdrkbicfc di < std jmivbdid tirdvmrim fd jcrrm ti zcavm fd aidc ca ebica fd jcfc aidc)
JE]OBVKC\7 Ti kc|c fd obvz) Ti kc|c fd obvz rd|rdzdivc tic bkchdi fbhb+vca jmk|advc fda fbotgm) Fd|difbdifm fd std ac bkchdi zdc kmimjrmkc m fdjmamr zd tvbabwc tim m kz obvz |crc jcfc |pda)
JE]KDVCEBAD\BJV7 Tic bkchdi fd kdvccrj`bum) Ti kdvccrj`bum htcrfcbiemrkcjbi fd ac bkchdi jmkm tic zdrbd fd rdhbzvrmz std zd jmrrdz|mifdi fb+rdjvckdivd jmi aackcfcz c ac HFB (_djvcihad! Daab|zd!FrcxVdpv! dvj)") Di dz+vd jczm! da emrkcvm tvbabwcfm im dz dpcjvckdivd bhtca std ti kdvccrj`bum! kz
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
32/62
325 UBZTCA J..) C\ABJCJBMIDZ \C_C XBI:?
obdi dz ti kdvccrj`bum std jmivbdid cahtic biemrkcjbi cfbjbmica zdhi ticdzvrtjvtrc fd vb|m KDVCEBAD\BJV)
\crc divdifdr acz etijbmidz kbdkorm fd JXif rdacvbucz ca |mrvc|c|dadz uc+kmz c dp|midr cahtimz jmijd|vmz etifckdivcadz (|crc kz fdvcaadz! otzjcr di acctfc |mr JXif jab|omcrf etijvbmiz") Da |mrvc|c|dadz dz dzdijbcakdivd tickcvrbw fd otwmidz fd jmrrdm! tim |mr jcfc emrkcvm! am std |mzbobabvc |mfdr movd+idr amz fcvmz di fbedrdivdz emrkcvmz) Jcfc otwi kcivbdid7
Da bfdivbebjcfmr fda emrkcvm fd fcvmz) Da `cifad fd ti mogdvm hamoca fd kdkmrbc std jmivdihc amz fcvmz c |czcr) Ti
mogdvm hamoca |tdfd zdr jmk|crvbfm |mr fmz m kz c|abjcjbmidz) Da `cifad fd ac udivcic std zbvt amz fcvmz di da |mrvc|c|dadz)
Tic c|abjcjbi kcivbdid fmz ibudadz fd jmivrma jmi rdz|djvm ca |mrvc|c|dadz7c" corbr da |mrvc|c|dadz! std fdod zdr civdrbmr c ac rdjt|drcjbi fd amz fcvmz fd a! o" movdidr ac |rm|bdfcf fda |mrvc|c|dadz! std fdod zdr civdrbmr c ac jmamjcjbifd amz fcvmz di a) Zdhi dzvm! tic c|abjcjbi im |tdfd corbr da |mrvc|c|dadz zb cdzv cobdrvm! im |tdfd zdr |rm|bdvcrbc fda |mrvc|c|dadz c kdimz std am `cccobdrvm) Dzvm dz! da |mrvc|c|dadz dz cobdrvm! jmizbhtbdivdkdivd |mzdfm |mr ticudivcic dz|djebjc fdivrm fd ac c|abjcjbi! im |mr ac c|abjcjbi) \mr am vcivm! ticudw std tic c|abjcjbi `c zbvtcfm amz fcvmz di da |mrvc|c|dadz m amz `c rdjt|drcfmfda |mrvc|c|dadz! fdod jdrrcram)
Mvrm jmijd|vm |crc jmk|rdifdr acz etijbmidz kbdkorm fd JXif rdedrbfcz ca|mrvc|c|dadz dz da fd ubzmr fda |mrvc|c|dadz) _djbod dzvd imkord jtcastbdr |rm+hrckc ca std zd imvbebjc fd amz jckobmz di da jmivdibfm fda |mrvc|c|dadz) \tdfdietijbmicr ca kbzkm vbdk|m jtcastbdr ikdrm fd ubzmrdz) Xbifmxz c ztkbibzvrcti ubzmr! |drm vckobi |mfdkmz dzjrbobr itdzvrm |rm|bm |rmhrckc ubzmr fda |mrvc+|c|dadz) \crc std ti |rmhrckc emrkd |crvd fd ac jcfdic fd ubzmrdz fda |mrvc|c|d+adz vbdid std aackcr c ac etijbi ZdvJab|omcrfUbdxdr> |crc rdvbrcr ti |rmhrckc
fd ac jcfdic! `c std aackcr c ac etijbi J`cihdJab|omcrfJ`cbi)
Fbzdm fda dfbvmr
Zbhtbdifm jmi da fbzdm fd ac c|abjcjbi Dfbvmr! jrdd amz kdizCrj`bum! Dfbjbi!M|jbmidz Ctfc) \crc dzvd |acivdckbdivm bibjbca! zt|mihc std da kdi Crj`bumdzv emrkcfm zam |mr ac mrfdi Zcabr! da kdi Dfbjbi |mr acz rfdidzFdz`cjdr!Jmrvcr! Jm|bcr \dhcr! da kdi M|jbmidz |mr amz ztokdiz Vdpvm Jmamrdz dakdi Ctfc |mr ac mrfdi Cjdrjc fd) Acz |rm|bdfcfdz |crc jcfc tim fd amz dad+
kdivmz fd amz kdiz zd rdztkdi di ac vcoac zbhtbdivd) \crc acz |rm|bdfcfdz std imebhtrci di ac vcoac zd cztkd da ucamr |mr mkbzbi) Di dzvc vcoac zd `ci fbz|tdzvmjcfc kdi jmi ztz dadkdivmz! fbzvbihtboadz |mr da ibuda fd zcihrcfm)
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
33/62
JC\VTAM 57 V_COCGCIFM JMI KDIZ 328
Mogdvm \rm|bdfcf Ucamr
Crj`bum Jc|vbmi
\m|+t|
%Crj`bum
ZZcabr BFJc|vbmi
BF]C\\]DPBV%Zcabr
Dfbjbi Jc|vbmi\m|+t|
%DfbjbiZ
Fdz`cjdr BFJc|vbmiHrcdf
BF]DFBV]TIFM%Fdz`cjdrQvJvra.WZ
Jmrvcr BF
Jc|vbmiHrcdf
BF]DFBV]JTV
Jmr%vcrQvJvra.PZJm|bcr BF
Jc|vbmiHrcdf
BF]DFBV]JM\R%Jm|bcrQvJvra.JZ
\dhcr BFJc|vbmiHrcdf
BF]DFBV]\CZVD%\dhcrQvJvra.UZ
M|jbmidz Jc|vbmi\m|+t|
%M|jbmidzZ
Vdpvm Jc|vbmi\m|+t|
%VdpvmZ
Etdivdz Jc|vbmi\m|+t|
%EtdivdzZ
Jmtrbdr Idx BFJc|vbmi
BF]M\]VDP]ET]JMT_BD_IDXJmtrbdr Idx
Crbca BFJc|vbmi
BF]M\]VDP]ET]C_BCACrbca
\mr mkbzbi BF
Jc|vbmi
BF]M\]VDP]ET]\M_MKBZBMI
\mr mkbzbiVckcm Jc|vbmi
\m|+t|%VckcmZ
35 BFJc|vbmi
BF]M\]VDP]VCK]3535
?6 BFJc|vbmi
BF]M\]VDP]VCK]?6?6
\mr mkbzbi BFJc|vbmi
BF]M\]VDP]VCK]\M_MKBZBMI\mr mkbzbi
Jmamrdz Jc|vbmi\m|+t|
%JmamrdzZ
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
34/62
320 UBZTCA J..) C\ABJCJBMIDZ \C_C XBI:?
Emifm Jc|vbmi\m|+t|
%EmifmZ
Oacijm BFJc|vbmi
BF]M\]JM]EMIFM]OACIJM%Oacijm
Udrfd BFJc|vbmi
BF]M\]JM]EMIFM]UD_FD%Udrfd
Cwta BFJc|vbmi
BF]M\]JM]EMIFM]CWTA%Cwta
Vdpvm Jc|vbmi\m|+t|
%VdpvmZ
Idhrm BFJc|vbmi
BF]M\]JM]VDPVM]IDH_M%Idhrm
Udrfd BFJc|vbmi
BF]M\]JM]VDPVM]UD_FD%Udrfd
Cwta BFJc|vbmi
BF]M\]JM]VDPVM]CWTA%Cwta
Ctfc Jc|vbmi\m|+t|@da|
%CtfcZZ
Cjdrjc fd BFJc|vbmi
BFF]C\\]COMTV%Cjdrjc fda Dfbvmr)))
Cahticz rfdidz jmkm Jmrvcrm Jm|bcrdz|djbebjci c ac fdrdj`c fd zt vvtamda jmigtivm fd vdjacz std `c std |tazcr |crc dgdjtvcr ac mrfdi fbrdjvckdivd zbirdjtrrbr ca kdi> |mr dzm! dzvcz vdjacz rdjbodi da imkord fd cjdadrcfmrdz! fd amzstd `coacrdkmz kz cfdacivd) Ebicabwcfm da fbzdm! da rdztavcfm zdr zbkbacr ca zb+htbdivd7
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
35/62
JC\VTAM 57 V_COCGCIFM JMI KDIZ 322
Ccfbr tic etijbi kbdkorm |crc ti dadkdivm fd ti kdi
Tic udw fbzdcfc ac bivdrecw! dzjrbobkmz da jfbhm jmrrdz|mifbdivd |crc jcfc ticfd acz rfdidz std im dzvi m|drcvbucz (Zcabr Cjdrjc fd! c dzvi m|drcvbucz")Dzvckmz di da dfbvmr fd fbamhmz ubztcabwcifm da rdjtrzm kdi BF_]KCBIE_C+KD (kdi fd ac udivcic |rbijb|ca") \crc ccfbr da jmivrmacfmr (etijbi kbdkorm"|crc tic fdvdrkbicfc mrfdi! `chc jabj di da kdi fdz|tz di ac mrfdi) C jmivb+itcjbi! biumstd c JaczzXbwcrf7
Zdadjjbmid di ac abzvc Jaczz ickd ac jaczd JDfbvmrUbdx jmi da ebi fd fdjacrcrdi daac acz etijbmidz kbdkorm czmjbcfcz jmi jcfc tic fd acz rfdidz fd amzkdiz) \mr dgdk|am! dk|djdkmz |mr ac mrfdi Fdz`cjdr) Jtcifm da tztcrbm `chcjabj di ac mrfdiFdz`cjdr! Xbifmxz diuc kdizcgdz jmkm XK]KDITZDADJV XK]JMKKCIF) \crc kcib|tacr XK]JMKKCIF! zdadjjbmid di ac abzvcMogdjv BFz da mogdvm BF]DFBV]TIFM! di ac abzvc Kdzzchdz da kdizcgd JMK+
KCIF) C jmivbitcjbi! `chc jabj di da omvi Cff Etijvbmi ccfc ac etijbikbdkorm MiDfbvFdz`cjdr)
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
36/62
?zd ubztcabwc da dzstdkc zbhtbdivd7
umbf JDfbvmrUbdx77MiDfbvFdz`cjdr"~
-- Ccfc cst zt jfbhm{
Cjvbucr amz dadkdivmz fd ti kdi
Jtcifm da tztcrbm fd tic c|abjcjbi fdz|abdhc ti kdi! jcfc dadkdivm fda kdiidjdzbvc zcodr zb zd fdod ubztcabwcr cjvbucfm m fdzcjvbucfm) Tic mrfdi fd ti kdi|tdfd dgdjtvcrzd! zam zb dzv cjvbuc) Stbdrd dzvm fdjbr std tic fd acz m|drcjbmidzstd fdod rdcabwcr ac c|abjcjbi dz cjvbucr fdzcjvbucr amz dadkdivmz fd ti kdi!di etijbi fd std vdihci m im cjvbubfcf di da bizvcivd di da std da kdi dz fdz+|adhcfm) Jcfc udw std zd fdz|abdhc ti kdi! Xbifmxz diuc amz kdizcgdz fd bib+jbcjbi XK]BIBVKDIT XK]BIBVKDIT\M\T\ std di acz KEJ zmikcib|tacfmz c vrcuz fd ac kcjrm MI]T\FCVD]JMKKCIF]TB) \mr am vcivm!ti jmivrmacfmr |crc T\FCVD]JMKKCIF]TBzdr biumjcfm gtzvm di da kmkdi+vm di da std `c std cjvtcabwcr da dzvcfm fd acz rfdidz fda kdi) TvbabwcrdkmzJaczzXbwcrf|crc dpckbicr amz mogdvmz fd ac bivdrecw fda tztcrbm jc|cjdz fd hdid+rcr rfdidz (dadkdivmz fd ti kdi! cjdadrcfmrdz! omvmidz fd tic ocrrc fd
`drrckbdivcz" ccfbr tic divrcfc di da kc|c fd kdizcgdz! |mr jcfc jmivrmacfmr)
\mr dgdk|am! |crc fdvdrkbicr zb ac mrfdiFdz`cjdrfdod cjvbucrzd! `c std bi+umjcr c ac etijbi kbdkorm JciTifm fd ac jaczd JDfbv) Ac aackcfc c JciTifmfdutdaud ti ucamr fbzvbivm fd < zb da jmivrma fd dfbjbi |tdfd rdcabwcr ac cjjbi fdfdz`cjdr! di jtm jczm ac mrfdi fdod cjvbucrzd> di jczm jmivrcrbm! fdod |drkcid+jdr bicjvbuc (vvtamFdz`cjdrdi hrbz c|chcfm")
Zdhi am dp|tdzvm! corc JaczzXbwcrf ccfc ac etijbi MiT|fcvdDfbvFdz+`cjdr ubijtacfc ca mogdvm BF]DFBV]TIFM! |crc kcib|tacr da kdizcgd T\FC+VD]JMKKCIF]TB) Fdz|tz! dzjrboc da jfbhm std zd bifbjc c jmivbitcjbi)\rdubckdivd fdod ubijtacr da jmivrmaBFJ]DFBV3 jmi tic ucrbcoad fd vb|m JDfbv(jcvdhmrc Jmivrma" fdimkbicfc k]JmivrmaDfbv3)
umbf JDfbvmrUbdx77MiT|fcvdDfbvFdz`cjdrJJkfTB' |JkfTB"~
|JkfTB+9Dicoad k]JmivrmaDfbv3)JciTifm" ">{
Jtcifm da kdi zd fdz|abdhc! da zbzvdkc otzjc aackc c jcfc jmivrmacfmr fd
T\FCVD]JMKKCIF]TB! da jtca! c zt udw! aackc c acz etijbmidz kbdkorm fdJJkfTB vca jmkm Dicoad! ZdvJ`djn! Zdv_cfbm! ZdvVdpv Jmivbitd_mtvbih! di+vmijdz ubztcabwc cfdjtcfckdivd jcfc dadkdivm fda kdi)
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
37/62
JC\VTAM 57 V_COCGCIFM JMI KDIZ ?
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
38/62
?
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
39/62
JC\VTAM 57 V_COCGCIFM JMI KDIZ ?
{
Tic udw zdadjjbmicfm ti oamstd fd vdpvm! |mfdkmz jm|bcram m jmrvcram) Daoamstd rdztavcivd fd dzvc m|drcjbi zd cakcjdicr di da |mrvc|c|dadz) Ac udivcgcfd tvbabwcr da |mrvc|c|dadz dz std zvd |drkbvd bivdrjckobcr biemrkcjbi divrd aczc|abjcjbmidz std am tvbabjdi) Dzvm dz! |mfdkmz aaducr oamstdz fd biemrkcjbi fd
tic c|abjcjbi c mvrc tvbabwcifm acz rfdidz fd Jmrvcr! Jm|bcr \dhcr)
Jtcifm da tztcrbm `chc jabj zmord ac mrfdi Jmrvcr! zd dgdjtvcr da |rmjdfb+kbdivm czmjbcfm jmi daac) \mr am vcivm! tvbabwcifm JaczzXbwcrf! ccfc ac etijbiMiDfbvJmrvcrczmjbcfc jmi da mogdvm BF]DFBV]JTV! |crc kcib|tacr da kdizcgdJMKKCIF) Fdz|tz! dzjrboc da jfbhm std zd bifbjc c jmivbitcjbi7
umbf JDfbvmrUbdx77MiDfbvJmrvcr"~-- Omrrcr ac zdadjjbi jm|bcrac di da |mrvc|c|dadz
k]JmivrmaDfbv3)Jtv">{
Ac mrfdi Jm|bcrzd fbedrdijbc fd ac mrfdi Jmrvcrdi std im omrrc da vdpvm zd+adjjbmicfm) Tvbabwcifm JaczzXbwcrf! ccfc ac etijbi MiDfbvJm|bcrczmjbcfc jmida mogdvmBF]DFBV]JM\R! |crc kcib|tacr da kdizcgd JMKKCIF) Fdz|tz! dz+jrboc da jfbhm std zd bifbjc c jmivbitcjbi7
umbf JDfbvmrUbdx77MiDfbvJm|bcr"~
-- Jm|bcr ac zdadjjbi di da |mrvc|c|dadzk]JmivrmaDfbv3)Jm|">
{
Jtcifm da tztcrbm `chc jabj zmord ac mrfdi \dhcr zd dgdjtvcr ac etijbiMiDfbv\dhcr! ac jtca! zdhi zd ktdzvrc c jmivbitcjbi! jmamjcr da vdpvm fda |mr+vc|c|dadz zmord da vdpvm zdadjjbmicfm m di zt fdedjvm! c |crvbr fd ac |mzbjbi fda|tivm fd bizdrjbi) Tvbabwcifm JaczzXbwcrf! ccfc ac etijbi MiDfbv\dhcrczm+jbcfc jmi da mogdvm BF]DFBV \CZVD|crc kcib|tacr da kdizcgd JMKKCIF)Fdz|tz dzjrboc da jfbhm std zd bifbjc c jmivbitcjbi7
umbf JDfbvmrUbdx77MiDfbv\dhcr"~
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
40/62
?Hdv\crdivErckd"+9_djcajAcmtv">_dzbwd\crdivVmEbv">
{
Htcrfd ac c|abjcjbi! jmk|adac dgdjvdac) Dzjrboc vdpvm |rtdod acz m|drc+jbmidz fdFdz`cjdr! Jmrvcr! Jm|bcr \dhcr)
C jmivbitcjbi uckmz c fdzcrrmaacr da jfbhm |crc da kdi M|jbmidz) Dzvdkdi ubztcabwc fmz ztokdiz! Vdpvm Jmamrdz) C zt udw! Vdpvm ubztcabwc mvrmzfmz ztokdiz! Etdivdz Vckcm! Jmamrdz mvrmz fmz! Emifm Vdpvm)
Tic etdivd dz ti vb|m fd advrc) Da ikdrm fd etdivdz fbz|miboadz di UbztcaJ.. ucrc di etijbi fd ac jmiebhtrcjbi fd zt zbzvdkc Xbifmxz) Di itdzvrm dfb+vmr zam uckmz c bijatbr vrdz vb|mz7 Jmtrbdr Idx!Crbca da vb|m fd advrc dzvcoadjb+fm |mr mkbzbi)
Di tic jcgc fd vdpvm zmackdivd |tdfd tvbabwcrzd tic etdivd! am jtca zbhibebjcstd jtcifm zd kmfbebstd da vb|m fd advrc |crc ac jcgc fd vdpvm! vmfm da vdpvm jck+obcr c dzd vb|m fd advrc) \mr am vcivm! |crc jckobcr ac etdivd cjvbuc di da dfbvmr fdvdpvmz! zbk|adkdivd vdidkmz std kmfbebjcr ac etdivd cjvtca fd ac jcgc fd vdpvm(udc Dzvcoadjdr tic etdivd |crc ti jmivrma di da Jc|vtam 6")
Acz jcrcjvdrzvbjcz fda vb|m fd advrc fd ac jcgc fd vdpvm acz uckmz c cakcjdicrdi tic ucrbcoad kbdkorm fd ac ubzvc fdimkbicfc k]ae! ac etdivd c tvbabwcr |mr acjcgc fd vdpvm dzvcr fdebibfc |mr mvrc ucrbcoad kbdkorm k]Etdivd) \mr am vcivm!
fdebic dzvcz ucrbcoadz di ac fdjacrcjbi fd JDfbvmrUbdx! amjcabwcfc di da ebj`drmdfbvmrubdx)`! jmkm zd bifbjc c jmivbitcjbi7
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
41/62
JC\VTAM 57 V_COCGCIFM JMI KDIZ ? -- jcrcjvdrzvbjcz fda vb|m fd advrcJEmiv k]Etdivd> -- etdivd c tvbabwcr |mr BFJ]DFBV3
-- ))){>
\crc dzvcoadjdr da vb|m fd advrc bibjbca! jrdd tic etdivd jmi acz jcrcjvdrzvbjczfdzdcfcz! k]Etdivd! `chc std k]Etdivd zdc ac etdivd bibjbca! etdivd |mr mkb+zbi) \crc daam! ccfc di ac etijbi MiBibvbcaT|fcvd da zbhtbdivd jfbhm7
umbf JDfbvmrUbdx77MiBibvbcaT|fcvd"~JEmrkUbdx77MiBibvbcaT|fcvd">Hdv\crdivErckd"+9_djcajAcmtv">_dzbwd\crdivVmEbv">-- Dzvcoadjdr da vb|m fd advrc |mr mkbzbi)-- Ti ucamr < zbhibebjc tvbabwcr amz ucamrdz |mr mkbzbi |crc amz |crkd+
vrmzkdkzdv %k]ae! k]Etdivd)JrdcvdEmivBifbrdjv %k]ae ">k]JmivrmaDfbv3)ZdvEmiv %k]Etdivd ">
{
Acz rfdidz fda kdi Etdivdz rdcabwci vmfcz da kbzkm |rmjdzm7 dzvcoadjdr acetdivd dz|djbebjcfc |mr zt vvtam (|rm|bdfcf Jc|vbmi") Dzvm dubvc vdidr std dzjrbobrtic etijbi |crc jcfc vb|m fd advrc) \mr am vcivm! da |czm zbhtbdivd dz udr jkm cj+jdfdkmz c acz |rm|bdfcfdz fd tic mrfdi)
Zdadjjbmicr tic mrfdi fd ti kdi
\crc cjjdfdr c acz |rm|bdfcfdz fd ti dadkdivm fd ti kdi! `c std jmimjdr da
bfdivbebjcfmr fda kdi) @cjbdifm ti |dstdm ciabzbz! jtcifm da tztcrbm `cjd jabjdi tic mrfdi fda kdi Etdivdz! Xbifmxz diuc c ac udivcic czmjbcfc jmi dakdi (di itdzvrm jczm c ac udivcic kcrjm" ti kdizcgd XK]KDITZDADJVzdhtbfm fd ti kdizcgd XK]JMKKCIF) Zdhi ubkmz di da jc|vtam ?!XK]KDITZDADJV zdr kcidgcfm |mr ac udivcic kcrjm m |mr zt udivcic |c+frd! |mr mkbzbi) Di jckobm! XK]JMKKCIF im dz |rmjdzcfm fbrdjvckdivd|mr ac udivcic kcrjm! zbim std zvc ad fc ac |rbkdrc m|mrvtibfcf c zt udivcic `bgc!ac ubzvc)
Di hdidrca! da kdizcgd XK]JMKKCIF zd diuc jtcifm da tztcrbm zdadj+jbmic tic mrfdi fd ti kdi! jtcifm ti jmivrma diuc ti kdizcgd fd imvbebjcjbic zt udivcic fd |cfrd! m jtcifm ti cjdadrcfmr (jmkobicjbi fd vdjacz fd cjjdzm c
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
42/62
Ecavci |hbicz)))
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
43/62
??? UBZTCA J..) C\ABJCJBMIDZ \C_C XBI:?
FDZC__MAAM FD TI _DAMG FDZ\D_VCFM_
Dzvd dgdk|am ad dizdcr! divrd mvrcz jmzcz! c tvbabwcr ti vdk|mrbwcfmr! c jckobcrftrcivd ac dgdjtjbi tic mrfdi fd ti kdi! c ccfbr m c omrrcr ftrcivd ac dgdjt+jbi rfdidz di ti kdi! c ubztcabwcr kdiz dkdrhdivdz c htcrfcr c rdjt|drcrfda rdhbzvrm fd Xbifmxz ac jmiebhtrcjbi bibjbca |crc tic c|abjcjbi)
Uckmz c fbzdcr ti rdamg fdz|drvcfmr fbhbvca jmkm da std zd ktdzvrc di ac eb+htrc zbhtbdivd) Da rdamg vbdid tic |civcaac |crc ubztcabwcr ac `mrc tic jcgc fd vdp+vm fdimkbicfc Fdz|drvcfmr fmifd da tztcrbm |tdfd dzjrbobr ac `mrc c ac stdstbdrd zdr cubzcfm) \crc cjvbucr m fdzcjvbucr da fdz|drvcfmr! da tztcrbm fbz|mid fdti kdi fdimkbicfm vckobiFdz|drvcfmr)
Ac |civcaac |crc ubztcabwcr ac `mrc zdr tic jcgc fd vdpvm fd zam adjvtrc jmi daebi fd std da tztcrbm im |tdfc kmfbebjcrac) \crc std ac `mrc ucrd zdhtifm c zd+htifm! da jmivdibfm fd ac jcgc fd vdpvm c ac std `dkmz `dj`m rdedrdijbc! std rd+|rdzdivc ac `mrc! fdod cjvtcabwcrzd c bivdrucamz bhtcadz m biedrbmrdz c ti zdhtifm)\crc rdcabwcr dzvm! acz KEJ |rm|mrjbmici tic etijbi MiVbkdr kbdkorm fd acjaczd JXif)
@c ti zdhtifm kdi! fdimkbicfm \cz! std |drkbvbr ca tztcrbm ccfbr |c+
zdz ca |rm|bm kdi! |crc fdz|tz! `cjbdifm jabj zmord jtcastbdrc fd daamz! movdidrdi tic vdrjdrc jcgc! emrkcfc |mr mvrc jcgc fd vdpvm! ac `mrc cjvtca di dzd |cz)
Vdk|mrbwcfmr
Ti vdk|mrbwcfmr dz tic rtvbic bivdric fd Ubztca J.. std imvbebjc |drbfbjckdivdc tic c|abjcjbi jtcifm `c vrcizjtrrbfm ti |drmfm |rdfdvdrkbicfm fd vbdk|m)Jcfc udw std vrcizjtrrd da |drmfm fd vbdk|m dz|djbebjcfm! Xbifmxz jmamjc tikdizcgd XK]VBKD_ di ac jmac fd kdizcgdz fd ac c|abjcjbi) Da |rmjdzckbdivmfd dzvd kdizcgd `cjd std zd dgdjtvd ac etijbi MiVbkdr! athcr fmifd zd dz|djbeb+jcri acz cjjbmidz c dgdjtvcr |drbfbjckdivd) Amz kdizcgdz XK]VBKD_! bhtca
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
44/62
JC\VTAM 57 V_COCGCIFM JMI KDIZ ??:
std amz XK]\CBIV! zmi fd ocgc |rbmrbfcf) Dzvm dz! zb ac jmac fd tic c|abjcjbijmivbdid zam kdizcgdz XK]\CBIV XK]VBKD_! mvrc c|abjcjbi dz|drc|crc fdz|cj`cr kdizcgdz fbzvbivmz! Xbifmxz |czcr da jmivrma c ac mvrc c|abjcjbi)
\crc bizvcacr ti vdk|mrbwcfmr di tic c|abjcjbi Xbifmxz! `c std aackcr c acetijbi kbdkorm ZdvVbkdr fd ac jaczd JXif) zvc vbdid ti |crkdvrm std dz|d+jbebjc da bivdrucam fd vbdk|m di kbabzdhtifmz std vbdid std vrcizjtrrbr |crc std acetijbi MiVbkdr zd dgdjtvd bifd|difbdivdkdivd fda tztcrbm) Da ucamr fda |cr+kdvrm |tdfd mzjbacr divrd < 6)?26)258)?24 kzdhz) (4< fcz c|rmpbkcfckdivd")
Da zbzvdkc hdidrc ti vbj fd rdamg jcfc 46!2?4 kzdhz) (30!? vbjz fd rdamg |mr zd+htifm" |mr daam! ctistd da ucamr fda |crkdvrm fd ZdvVbkdr zd dp|rdzd di kbabzd+
htifmz! ac |rdjbzbi im |tdfd zdr kcmr fd 46!2?4 kbazbkcz fd zdhtifm) Dzvmzbhibebjc std |crc |drmfmz biedrbmrdz c 44 kbabzdhtifmz! jcfc vbj fd rdamg hdidrcti kdizcgd XK]VBKD_)
Jtcifm tic c|abjcjbi vdrkbid jmi da vdk|mrbwcfmr! dz otdim aackcr c ac eti+jbi NbaaVbkdr kbdkorm fd JXif |crc fdvdidr amz kdizcgdz XK]VBKD_) C|crvbr fd Xbifmxz 24! da ikdrm fd vdk|mrbwcfmrdz dz vdrbjckdivd babkbvcfm) Immozvcivd! jtcifm ZdvVbkdr im |tdfd bizvcacr ti vdk|mrbwcfmr! fdutdaud
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
45/62
??6 UBZTCA J..) C\ABJCJBMIDZ \C_C XBI:?
Ccfc tic dvbstdvc dijbkc fda omrfd fd ac jcgc fd vdpvm) Czhidad da vvtam@mrc7! cgtzvd da vckcm zbvdac jmkm zd bifbjc di ac ebhtrc zbhtbdivd7
C jmivbitcjbi ccfbkmz tic jcgc fd vdpvm std uc c fcr athcr ca fdz|drvcfmr)@chc ti jabj di da jmivrma jcgc fd vdpvm fd ac jcgc fd `drrckbdivcz jmastdac dida athcr std zd bifbjc di ac ebhtrc) Fdz|tz! cgtzvd zt vckcm czhidad acz zb+htbdivdz |rm|bdfcfdz7
BF7 BFJ]FDZ\D_VCFM_ Bfdivbebjcfmr fda jmivrma)
Ccfc tic dvbstdvc dijbkc fda omrfd fd dzvc jcgc fd vdpvm! czhidad da vvtamFdz|drvcfmr7! cgtzvd zt vckcm zbvdac jmkm bifbjc ac ebhtrc)
\crc cjvbucr m fdzcjvbucr da fdz|drvcfmr uckmz c ccfbr ti kdi) Corc ac udi+vcic fd fbzdm fd kdiz fbzdd da kdiFdz|drvcfmrjmi acz rfdidzFdz|drvc+fmr Im Zcabr7
Jc|vbmi7 Fdz|drvcfmr Im BF7 BF]FDZ\D_VCFM_]ZB]IMJc|vbmi7 Zcabr BF7 BF]C\\]DPBV
Jmizdrud da kdi Ctfc jmi ac mrfdi Cjdrjc fd _damg |drzmicabjd ac jcgc
fd fbamhmCjdrjc fd))) Dz tic otdic bfdc htcrfcr c`mrc da vrcocgm rdcabwcfm) Dgd+jtvd ac mrfdi Zcud Caa) C jmivbitcjbi corc JaczzXbwcrf|crc ubijtacr acz ucrbc+oadz kbdkorm k]Jvra@mrc k]JvraFdz|drvcfmr! ckocz fd vb|m JDfbv (jcvdhmrcJmivrma"! c acz jcgcz fd vdpvm BFJ]@M_C d BFJ]FDZ\D_VCFM_! rdz|djvbuc+kdivd) Da zbhtbdivd |czm dz tibr da jfbhm c amz jmivrmadz)
Tibr da jfbhm c amz jmivrmadz c ac udivcic
Di |rbkdr athcr uckmz c dfbvcr ac etijbi MiBibvbcaT|fcvd |crc std! cfdkz fd
cfc|vcr da vckcm fd ac udivcic kcrjm ca jmivmrim fd ac ubzvc! dzvcoadwjc acz etdi+vdz fd acz jcgcz BFJ]@M_C d BFJ]FDZ\D_VCFM_) Civdz! fdebibrdkmz acz uc+
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
46/62
JC\VTAM 57 V_COCGCIFM JMI KDIZ ??4
rbcoadz k]Etdivd@mrc k]EtdivdFdz|drvcfmr|crc jrdcr acz etdivdz c acz stdimz `dkmz rdedrbfm7
jaczz J_damgUbdx 7 |toabj JEmrkUbdx~-- )))|toabj7
--~~CEP]FCVCJ_damgUbdx"ditk ~ BFF ; BFF]_DAMG]EM_K {>JDfbv k]Jvra@mrc>JDfbv k]JvraFdz|drvcfmr>--{{CEP]FCVCJEmiv k]EtdivdFdz|drvcfmr> -- etdivd |crc BFJ]FDZ\D_VCFM_JEmiv k]Etdivd@mrc> -- etdivd |crc BFJ]@M_C
-- ))){>
Zdhi am dp|tdzvm! ccfc c ac etijbi MiBibvbcaT|fcvd kbdkorm fd ac jaczdJ_damgUbdx! da jfbhm std zd ktdzvrc c jmivbitcjbi7
umbf J_damgUbdx77MiBibvbcaT|fcvd"~JEmrkUbdx77MiBibvbcaT|fcvd">-- Cgtzvcr da vckcm fd ac udivcic kcrjm ca vckcm fd ac ubzvc
Hdv\crdivErckd"+9_djcajAcmtv">_dzbwd\crdivVmEbv">
-- Etdivd |crc BFJ]FDZ\D_VCFM_AMHEMIV ae>kdkzdv %ae! ae)ae@dbh`v ; TibfcfdzAmhbjcz36">k]EtdivdFdz|drvcfmr)JrdcvdEmivBifbrdjv %ae ">k]JvraFdz|drvcfmr)ZdvEmiv %k]EtdivdFdz|drvcfmr ">
-- Etdivd |crc BFJ]@M_C
ae)ae@dbh`v ; TibfcfdzAmhbjcz?6">k]Etdivd@mrc)JrdcvdEmivBifbrdjv %ae ">k]Jvra@mrc)ZdvEmiv %k]Etdivd@mrc ">
{
Mozdrud std |crc jcajtacr ac cavtrc fd ac etdivd di tibfcfdz ahbjcz biumjc+kmz c ac etijbi TibfcfdzAmhbjcz ubzvc civdrbmrkdivd di dzvd kbzkm jc|vtam)
Di zdhtifm athcr rdfdebibrdkmz ac etijbi \rdJrdcvdXbifmx |crc rdfdebibrda dzvbam fd ac udivcic kcrjm jmi ac bivdijbi fd std da tztcrbm im fbz|mihc fd ti
omvi fd kcpbkbwcr vck|mjm fd ti omrfd std |drkbvc kmfbebjcr da vckcm fd acudivcic) \crc kz fdvcaadz! otzstd \rdJrdcvdXbifmx civdrbmrkdivd di dzvd
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
47/62
??5 UBZTCA J..) C\ABJCJBMIDZ \C_C XBI:?
kbzkm jc|vtam) Ca vrcvcrzd fd ac udivcic kcrjm! ac etijbi \rdJrdcvdXbifmxvbdid std zdr tic etijbi kbdkorm fd 3c jaczd JKcbiErckd7
OMMA JKcbiErckd77\rdJrdcvdXbifmxJ_DCVDZV_TJV% jz"~be #JErckdXif77\rdJrdcvdXbifmxjz" "rdvtri ECAZD>
jz)zvad %; yEXZ]CFFVMVBVAD q XZ]KCPBKBWDOMP q XZ]V@BJNE_CKD">rdvtri V_TD>
{
Da zbhtbdivd |czm dz tibr da jfbhm jmrrdz|mifbdivd c jcfc tim fd amz jmivrm+adz |crc ti jmrrdjvm etijbmickbdivm fda rdamg)
Dk|djdkmz |mr da fdz|drvcfmr) Itdzvrc bivdijbi dz std da tztcrbm dzjrboc didzvc jcgc ac `mrc c ac std stbdrd zdr cubzcfm) \mr am vcivm! amz jcrcjvdrdz std a|tdfc dzjrbobr amz rdzvrbihbrdkmz c amz fhbvmz
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
48/62
JC\VTAM 57 V_COCGCIFM JMI KDIZ ??8
umbf JKbDfbv77MiJ`crTBIV iJ`cr! TBIV i_d|Jiv! TBIV iEachz"~be iJ`cr1(
{
Dzvc etijbi rdjbod jmkm crhtkdivm da jfbhm fd ac vdjac |tazcfc am cakc+jdic di da |crkdvrm iJ`cr) C jmivbitcjbi udrbebjc da jcrjvdr> zb dz tim fd amzim |drkbvbfmz! dkbvd ti |bvbfm am fdz`dj`c> dzvm dz! im am |czc c ac etijbi Mi+J`cr bk|adkdivcfc |mr mkbzbi! fd ac jaczd JDfbv)
Ti jmivrma fd dfbjbi vbdid tic |rm|bdfcfItkodrstd zd |tdfd |midr ftrci+vd da fbzdm c vrtd> |mr mkbzbi dz ecazd) Jtcifm dzvc |rm|bdfcf dz vrtd! da jmivrmafd dfbjbi zam cfkbvd ikdrmz) Imzmvrmz im `dkmz tvbabwcfm dzvc |rm|bdfcf |mr+std idjdzbvckmz cfkbvbr vckobi da jcrjvdr fmz |tivmz)
Da |czm zbhtbdivd dz |rdzdivcr ac `mrc c vrcuz fda jmivrma BFJ]@M_C) \crcubztcabwcr ac `mrc Ubztca J.. vbdid ac etijbi HdvJtrrdivVbkd kbdkorm fd acjaczd JVbkd! std fdutdaud ti mogdvm JVbkd jmi ac edj`c ac `mrc)
Divmijdz! |crc |rdzdivcr ac `mrc oczvcrc jmi dzjrbobr7
-- Movdidr ubztcabwcr ac `mrcJVbkd @mrc ; JVbkd77HdvJtrrdivVbkd">JZvrbih @mrcVpv ; @mrc)Emrkcv/$@7$K7$Z/">ZdvFahBvdkVdpv BFJ]@M_C! @mrcVpv ">
Ac jtdzvbi dz std zb dzvcz zdivdijbcz zd dgdjtvci tic zmac udw! ac `mrc zdr ac|rdzdivcfc bibjbcakdivd im ucrbcr) Dz |rdjbzm! |mr am vcivm! dgdjtvcracz c bivdr+ucamz fd ti zdhtifm m kdimz) \crc jmizdhtbr dzvm! `chc std dzvcz zdivdijbcz zdci|crvd fda jtdr|m fd ac etijbi MiVbkdr kbdkorm fd J_damgUbdx! ac ubzvc)
\crc bizvcacr ti vdk|mrbwcfmr biumstd c ac etijbi ZdvVbkdr di da bizvcivd dida std zd bibjbd ac c|abjcjbi> dzvm dz! fdzfd ac etijbi MiBibvbcaT|fcvd)
umbf J_damgUbdx77MiBibvbcaT|fcvd"~-- )))-- Dzvcoadjdr ti vdk|mrbwcfmrZdvVbkdr BF]3ZDHTIFM! 3
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
49/62
??0 UBZTCA J..) C\ABJCJBMIDZ \C_C XBI:?
XK]VBKD_) Da ucamr dz|djbebjcfm zd rdfmifdc c ti ucamr divdrm fd vbjz fd rdamg(|mr dgdk|am! 3
ZdvFahBvdkVdpv BFJ]@M_C! @mrcVpv ">
JEmrkUbdx77MiVbkdriBFDudiv">{
Ac etijbi MiVbkdr dz biumjcfc jcfc udw std vrcizjtrrd da vbdk|m dz|djbeb+jcfm di da vdk|mrbwcfmr BF]3ZDHTIFM) Jtcifm zd dzvcoadjdi ucrbmz vdk|mrb+wcfmrdz! MiVbkdr |tdfd zcodr fd st vdk|mrbwcfmr zd vrcvc |mrstd da |crkdvrmiBFDudivjmivbdid daBF fda vdk|mrbwcfmr)
Jtcifm zd dgdjtvci ucrbcz c|abjcjbmidz zbktavidckdivd |tdfd fcrzd da jczm!|mr ac |rbmrbfcf std vbdidi czbhicfc bk|ajbvckdivd amz kdizcgdz! fd std im zdc|mzboad std ti kdizcgd XK]VBKD_ zd fdz|cj`d di zt kmkdivm) Jtcifm mjt+rrd dzvm! Xbifmxz im zbhtd |mibdifm kdizcgdz XK]VBKD_ di ac jmac fd acc|abjcjbi> |mfrckmz fdjbr std amz rdftjd c tim (udc da c|crvcfm Vdk|mrbwcfmrfdzjrbvm civdrbmrkdivd di dzvd kbzkm jc|vtam")
Jmivbitcifm jmi ac c|abjcjbi! zt|mihckmz c`mrc std da tztcrbm dzjrbod tic`mrc di da fdz|drvcfmr) \crc std zd |rmftwjci |bvbfmz fd cubzm jtcifm zd cajcijddzc `mrc! vbdidi std fcrzd fmz jmifbjbmidz7 tic! std da fdz|drvcfmr dzv cjvbucfm!
mvrc! std ac `mrc cjvtca zdc bhtca m kcmr! m zbk|adkdivd kcmr! std ac `mrc dz+|djbebjcfc di da fdz|drvcfmr) Ac jmifbjbi kcmr dz |crc std da |bvbfm jmivbid`czvc std da tztcrbm fdzcjvbud da fdz|drvcfmr m obdi `czvc std |czdi 4 kbitvmz)
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
50/62
JC\VTAM 57 V_COCGCIFM JMI KDIZ ??2
Imvc7 \tdzvm std jmk|crcrdkmz jcfdicz fd jcrcjvdrdz! tvbabjd mj`m jcrcjvdrdz|crc dzjrbobr ac `mrc fda fdz|drvcfmr) Zd fdgc jmkm dgdrjbjbm |crc da adjvmr ctvmkc+vbwcr dzvd |rmjdzm |crc amz emrkcvmz fd `mrc std im vdihci mj`m jcrcjvdrdz)
\crc zcodr da dzvcfm fda fdz|drvcfmr! fdebic tic ucrbcoad k]oFdz|drvcfmrZbkbdkorm fd ac jaczd J_damgUbdx fd vb|m omma czhidad ti ucamr bibjbca ecazd) Tiucamr ecazd bifbjc fdz|drvcfmr fdzcjvbucfm ti ucamr vrtd bifbjc fdz|drvcfmr cjvb+ucfm) \crc cjjdfdr fd tic emrkc ejba c ac `mrc cjvtca c ac `mrc fda fdz|drvcfmr!corc JaczzXbwcrf ubijtad acz ucrbcoadz kbdkorm k]z@mrc k]zFdz|drvcfmr!ckocz fd jcvdhmrc Ucamr fd vb|m JZvrbih! c acz jcgcz fd vdpvm BFJ]@M_C d
BFJ]FDZ\D_VCFM_! rdz|djvbuckdivd (ti jmivrma |tdfd vdidr ubijtacfc tic mkz ucrbcoadz fbedrdivdz") Cz kbzkm! bibjbd da fdz|drvcfmr ca ucamr
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
51/62
?:< UBZTCA J..) C\ABJCJBMIDZ \C_C XBI:?
C jmivbitcjbi fd cjtdrfm jmi am dp|tdzvm! kmfbebstd ac etijbi MiVbkdrfd ac emrkc zbhtbdivd7
umbf J_damgUbdx77MiVbkdrTBIV iBFDudiv"~-- Movdidr ubztcabwcr ac `mrcJVbkd @mrc ; JVbkd77HdvJtrrdivVbkd">JZvrbih @mrcVpv ; @mrc)Emrkcv/$@7$K7$Z/">ZdvFahBvdkVdpv BFJ]@M_C! @mrcVpv ">
JEmrkUbdx77MiVbkdriBFDudiv">
T|fcvdFcvc vrtd "> -- cjvtcabwcr acz ucrbcoadz-- Cjvbucr ac cacrkc zb |rmjdfdbe k]zFdz|drvcfmr 1 k]z@mrc %% k]oFdz|drvcfmrZb "~-- Ac cacrkc ztdic ftrcivd 4 kbitvmzJVbkdZ|ci Fbedrdijbcbe k]zFdz|drvcfmr 9 @mrcVpv "~KdzzchdOdd|KO]MN">
{ {{
Fdzcrrmaadkmz c`mrc da jfbhm |crc acz rfdidz fda kdi Fdz|drvcfmr) Ac mr+fdi Zcabrdzv bk|adkdivcfc |mr mkbzbi)
Da vvtam fd ac mrfdiFdz|drvcfmr Im c bifbjc std da fdz|drvcfmr im dzv cj+vbucfm! am std bk|abjc std ac ucrbcoad k]oFdz|drvcfmrZb vdihc ti ucamr ecazd)Jtcifm da tztcrbm `chc jabj zmord dzvc mrfdi! da vvtam fd ac kbzkc fdodr jckobcr|crc bifbjcr Fdz|drvcfmr Zb! std stbdrd fdjbr std da fdz|drvcfmr dzv cjvbucfm! ac ucrbcoad k]oFdz|drvcfmrZb vmkcr da ucamr vrtd) Di fdebibvbuc! ti jabj di dzvc
mrfdi cjvbuc m fdzcjvbuc da fdz|drvcfmr)
Jckobcr di dgdjtjbi tic mrfdi fd ti kdi
Ac mrfdi |crc cjvbucr fdzcjvbucr da fdz|drvcfmr std cjcockmz fd jmkdivcr! vbdidstd zdr jckobcfc ftrcivd ac dgdjtjbi fda |rmhrckc) \crc `cjdr dzvm! im vbdid kzstd czbhicr da vvtam fdzdcfm ca jmivrma fdimkbicfmBF]FDZ\D_VCFM_]ZB]IM)_djtdrfd std jtcifm da tztcrbm `cjd jabj di ti kdi! Xbifmxz diuc kdizcgdzfd bibjbcjbi jmkm XK]BIBVKDIT XK]BIBVKDIT\M\T\! civdz fd std
da kdi zdc fdz|adhcfm) \crc kcib|tacr dzvmz kdizcgdz! da kc|c fd kdizcgdz tvb+abwc ac kcjrm MI]T\FCVD]JMKKCIF]TB)
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
52/62
JC\VTAM 57 V_COCGCIFM JMI KDIZ ?:3
\mr am vcivm! fdzfd da dfbvmr fd kdiz! `chc jabj di da kdi Fdz|drvcfmrfdz|tz di ac mrfdiFdz|drvcfmr Im) C jmivbitcjbi corc JaczzXbwcrf! zdadjjbm+id ac jaczd J_damgUbdx! da mogdvm BF]FDZ\D_VCFM_]ZB]IM! da kdizcgd T\+
FCVD]JMKKCIF]TB ccfc ac etijbi7
umbf J_damgUbdx77MiT|fcvdFdz|drvcfmrZbImJJkfTB' |JkfTB"~|JkfTB+9ZdvVdpvk]oFdz|drvcfmrZb =
/%Fdz|drvcfmr Z/ 7/%Fdz|drvcfmr Im/">
{
Mozdrud std jtcifm da tztcrbm `chc jabj zmord ac mrfdi fd cjvbucr fdzcjvbucr
da fdz|drvcfmr! da vvtam fd ac kbzkc jckobcr |crc bifbjcrFdz|drvcfmr Zzb ac uc+rbcoad k]oFdz|drvcfmrZb ucad vrtd! |czcifm zvc c ucadr ecazd! jckobcr |crcbifbjcrFdz|drvcfmr Im zb ac ucrbcoad k]oFdz|drvcfmrZb ucad ecazd! |czcifm zvcc ucadr vrtd)
\crc jckobcr da ucamr fd ac ucrbcoad k]oFdz|drvcfmrZb! tvbabwcifm JaczzXb+wcrf! ccfc ac etijbi MiFdz|drvcfmrZbIm czmjbcfc jmi da mogdvmBF]FDZ\D_+VCFM_]ZB]IM |crc kcib|tacr da kdizcgd JMKKCIF! dzjrboc da jfbhm stdzd bifbjc c jmivbitcjbi7
umbf J_damgUbdx77MiFdz|drvcfmrZbIm"~k]oFdz|drvcfmrZb ; #k]oFdz|drvcfmrZb>
{
Dzvm vckobi |mfrc `codrzd `dj`m fbzdcifm da kdi jmi acz rfdidz |mzb+oadz!Fdz|drvcfmr ZFdz|drvcfmr Im! dzvcifm tic fd daacz (ac im cjvbuc" im ub+zboad) \mr dgdk|am! zt|mihc std `c jmizvrtbfm dzvd kdi czbhicifm c ztzdadkdivmz acz zbhtbdivdz |rm|bdfcfdz (amz ucamrdz |crc acz |rm|bdfcfdz std im zddz|djbebjci zmi amz fcfmz |mr mkbzbi"7
Jc|vbmi Fdz|drvcfmr Im Fdz|drvcfmr Z
BF BF]FDZ\D_VCFM_]IM BF]FDZ\D_VCFM_]ZB
|mzbjbi < 3
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
53/62
?:? UBZTCA J..) C\ABJCJBMIDZ \C_C XBI:?
Zt|mihckmz vckobi std ckocz rfdidz dzvi ubijtacfcz c acz etijbmidzMiFdz|drvcfmrZbIm MiT|fcvdFdz|drvcfmrZbIm)
Da |rbkdr kdi fdz|adhcoad fd ac ocrrc fd kdiz vbdid ifbjd
Ocrrc fd kdiz ifbjdz> kdiz Dadkdivmz ifbjdz> dadkdivmzFdz|drvcfmr
OMMAHdv\rmebadZvrbih( A\JVZV_a|zwZdjjbi!A\JVZV_a|zwDivrcfc!A\JVZV_a|zwUcamr\rdfdvdrkbicfm ; ITAA">
\mr dgdk|am! da zbhtbdivd jfbhm rdjt|drc ac jmiebhtrcjbi rdhbzvrcfc di dac|crvcfm civdrbmr7
J_damgUbdx77J_damgUbdx" 7 JEmrkUbdxJ_damgUbdx77BFF"~-- )))-- Fdz|drvcfmr zb-imk]oFdz|drvcfmrZb ; ecazd>k]zFdz|drvcfmr ; CepHdvC||"+9Hdv\rmebadZvrbih
/Zdvvbihz/! /Cacrkc/! /
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
57/62
Ecavci |hbicz)))
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
58/62
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
59/62
\ C _ V D
Vjibjcz cuciwcfcz Ebj`drmz fd fcvmz Ocrrcz fd jmivrma Hrebjmz Da rcvi C|abjcjbmidz KFB Kc|cz fd obvz
Bk|rdzbi |rdzdivcjbi |rdabkbicr
Cjjdzm c tic oczd fd fcvmz
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
60/62
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
61/62
\ C _ V D
C|ifbjdz
Jfbhmz fd jcrcjvdrdz ifbjd caecovbjm
7/23/2019 Ceballos: Visual C++. Aplicaciones para Win32, 2Ed
62/62