Index
A
About box, 525
_abstract keyword, 913
abstraction, 698
accelerator resource, 43
Accept function, 825
Access. See Biblio.mdb file
Activate method, 756
ActivateFrame function, 334–35
Active Server Pages. See ASP, classic; ASP.NET
ActiveX controlsaccessing properties at design time, 217
Add Member Variable Wizard support, 220, 221–22
adding code for drawing bitmaps, 736–41
adding properties, 743–46
adding property pages, 748–52
adding to projects, 214–15
ATL architecture and, 730–36
ATL overview, 725–36
attributed, 768–70
bindable properties, 238–39
calendar control, 215–16
Class View's Properties window and, 220, 222
container programming, 217–23
creating at run time, 232–33
creating with ATL Control Wizard, 725–29
developing, 736–68
DHTML and, 860
how events work, 760–62
how to use, 767–68
in HTML files, 232
installing, 214–15
limitations, 967–68
locking in memory, 222–23
mapping events, 222
methods overview, 213–14
MFC Application Wizard support, 220
vs. ordinary Windows controls, 212–14
overview, 211, 724–25
picture properties and, 237–38
properties overview, 213–14
registering, 214
responding to window messages, 741–43
storing DLLs on hard disk, 214
Visual Studio .NET C++ wrapper classes, 217–20
ActiveX Data Objects. See ADO.NET
ActiveX technologyCOM and, 531–32, 724
OLE and, 531–32, 724
relationship to COM, 674–75
Add Class From ActiveX Control Wizard, 215
Add Class From Typelib Wizard, 619, 622
Add Class Wizard, 514, 593, 617
Add Member Function Wizard, 451–52
Add Member Variable WizardActiveX controls and, 220, 221–22
overview, 146–47
Add Method Wizard, 593–94, 617
Add Property Wizard, 593–94, 617
AddConfig method, 58
AddDocTemplate function, 399, 401, 419, 424, 467
AddPage function, 292
AddRef method, 541, 669, 692–93, 702, 889
AddRequestHeaders function, 841
address space, 243–45
AddTail function, 370
ADO (ActiveX Data Objects). See ADO.NET
ADO.NETclosing connections explicitly, 984
connecting to databases, 983–85
datasets, 989–95
defined, 981
error handling, 989
issuing commands, 986–87
managed providers and, 981–89
retrieving data with data readers, 987–89
role of stored procedures, 986–87
advanced common controlsdate and time picker, 194–95, 200, 201–3
extended combo box control, 197, 205–10
Internet protocol address, 196, 201, 204
month calendar, 196, 201, 203–4
overview, 194
Advise function, 761
advisory connections, 645
AfxBeginThread function, 265, 267, 274

AfxCtl.h file, 238
afxDump object, 355–56
AFX_EXTENSION_MODULE structure, 506
AfxGetApp function, 338, 421
AFX_MANAGE_STATE macro, 506
AfxMessageBox function, 339–40, 484
AfxOleInit function, 632
AfxOleLockControl function, 222
AfxOleUnlockControl function, 223

AfxRegisterTypeLib function, 636–37
Afxres.h file, 43
Afxres.rc file, 43
AfxSetResourceHandle function, 506
aggregation vs. inheritance, 568–69
alarm clock program, 610–11
aligning controls in dialog boxes, 141
Alt key, 141, 280
ampersand (&), 141, 280, 370
anonymous users, 867–68
apartments, 698–700
AppDomains, 906–7
Application class, 419, 524
application framework. See also main frame window
built-in menu commands, 283–84
vs. class libraries, 23, 26, 73
defined, 23
persistent frame window and, 334–35
printing overview, 440–42
and Serialize function, 397
windows and, 278
Applications Programming Interface (API), 6, 532
Apply function, 751, 758–59
APS files, defined, 9
archive objects. See CArchive class
arrays, 897. See also CArray class; CStringArray class
ASMX files, 977, 978
ASP, classic, 955–56
ASP.NETvs. classic ASP, 956
code-behind pages, 958, 959–62
compilation model, 957
creating HTTP modules, 970–72
debugging files, 11
files in ManagedCWebFormWizard sample wizard, 56–57
history, 954–56
implementing HTTP handlers, 973–76
overview, 954–56
Page class, 957–69
role of IIS, 955–56
steps in handling HTTP requests, 969–76
Web Forms, 962–67
WSDL and, 978–79
ASPX files, 958
assembliesbuilt-in type information, 900–901
creating, 914, 925
deploying, 921
manifest section, 901
overview, 900
public vs. private, 901–3
associating documents with programs, 415
asynchronous vs. synchronous Winsock programming, 820
ATL (Active Template Library)ActiveX controls and, 725–70
architecture for ActiveX controls, 730–36
vs. ATL Server, 874
AtlBase.h file, 675
AtlCom.h file, 676
AtlConv.cpp file, 676
AtlConv.h file, 676
AtlCtl.cpp file, 676
AtlCtl.h file, 676
AtlIFace.h file, 676
AtlIFace.idl file, 676
AtlImpl.cpp file, 676
AtlWin.cpp file, 677
AtlWin.h file, 677
attributed programming, 720–22
attributed vs. classic, 696, 720
basic architecture, 703–4
vs. C++ or MFC, 693
CComPtr class, 688–90
CComPtrBase class and, 684–88
CComQIPtr class, 690–92
client-side programming, 677–93
creating COM classes, 697–98
DHTML and, 860–62
file overview, 675–77
implementing COM classes, 701–2
managing vtables, 704–5
message mapping, 734–36
overview, 16, 667
problems with smart pointers, 692–93
role of COM classes, 693–94
role of IDispatch interface, 716–17
role of QueryInterface function, 708–11
selecting project server type, 694–95
server-side programming, 693–720
smart pointers and, 684–93
windowing, 732–34
ATL Control Wizard, 725–29
ATL OLE DB Consumer Wizard, 783
ATL OLE DB Provider Wizard, 778–79, 789–94
ATL Project Wizard, 694–96, 703, 725, 860
ATL Property Page Wizard, 748, 749, 750
ATL Servervs. Active Template Library, 874
architecture, 875–77
DLLs and, 875–76
overview, 874
role in Web development, 874–75
ATL Server Project Wizard, 882
ATL Simple Object Wizard, 697–98, 701–2
AtlBase.h file, 675
AtlCom.h file, 676
AtlConv.cpp file, 676
AtlConv.h file, 676
AtlCtl.cpp file, 676
AtlCtl.h file, 676, 730
ATL_DRAWINFO structure, 739
AtlIFace.h file, 676
AtlIFace.idl file, 676
AtlImpl.cpp file, 676
ATL_PROPMAP_ENTRY structure, 755
AtlWin.cpp file, 677
AtlWin.h file, 677
_ATL_WNDCLASSINFO class, 732
AttachClipboard function, 647, 648
AttachDispatch function, 630
AttachMapFile function, 120
AttachMemory function, 121
attributed ATLvs. classic ATL, 696
creating ActiveX controls, 768–70
programming, 720–22
attributed OLE DB, 797–801
Autoclik example, 591, 609
Automationclient and component overview, 572–76
client programs, 616–36
creating C++ components for VBA, 571–72
debugging EXE component programs, 599
enabling in code, 592–93
example overview, 590
IDispatch interface, 576–77
#import directive and, 583–84
MFC client programs and, 581–83
MFC component overview, 579–81
role of COleVariant class, 586–90
role of VARIANT type, 584–86