Training
Certifications
Books
Special Offers
Community




 
Microsoft® Visual C++® .NET Step by Step
Author Julian Templeman, Andy Olsen
Pages 640
Disk 1 Companion CD(s)
Level All Levels
Published 01/23/2002
ISBN 9780735615670
ISBN-10 0-7356-1567-5
Price(USD) $39.99
To see this book's discounted price, select a reseller below.
 

More Information

About the Book
Table of Contents
Sample Chapter
Index
Related Series
Related Books
About the Author

Support: Book & CD

Rate this book
Barnes Noble Amazon Quantum Books

 

Index


A
access levels, 150
access modifiers, 23
Account class, 262, 266
Active Template Library (ATL), 309
ActiveX controls, using in Windows Forms projects, 609
Add method, 267
ADO.NET
   assemblies, 495
   creating, 496-508
   data providers, 494
   DataSet class, 503
   introduction, 493-495
   namespaces, 494
aggregrate initializer, 172-173
and operator, 73, 198
Application::Run function, 314
applications
   creating connected, 496
   debugging, stepping through, 59
   distributed, 513
   GUI, 307
architecture
   ATL Server, 534
   Web Services, 515
arguments, pointers and, 34
arithmetic operators, 40, 184
ArrayList class, 248
arrays
   advanced operations, 242
   described, 33
   dynamic allocation and, 234
   __gc, 236
   initialization of, 232
   multidimensional, 233
   native C++, 227, 231
   .NET array class, 239
   passing to functions, 230
   and reference types, 237
   searching, 243
   sorting, 244
ASCII encoding, 460
assemblies, 294
   COM naming, signing, 604
   installing, 617
   #using preprocessor, 296
AssemblyInfo.cpp, 578
assigning values to variables, 32
assignment operators, 40, 193
associativity operator, 45
ATL (Active Template Library), 309
ATL Server
   accessing Web Service from code, 547
   architecture (ill.), 534
   coding with, 533
   creating code skeleton, 541
   creating Web-base applications using, 533-541
   described, 531-532
   and ISAPI programming, 532
   project options, 538
   writing Web Application using, 537
ATL Server Project Wizard, 537
attributes
   accessing standard, 593
   AttributeTargets enumeration (table), 586
   class properties, 587
   defining, 585
   handling XML, 452
   and metadata, 575
   predefined, 578
   using reflection to get data, 591
   writing custom, 587
attribute targets, 586
authentication, SQL Server, 497
aximp.exe tool, 610

B
BankAccount.h, 153
Bank class, 262
Bank.cpp, 263
Bank.h, 263
base classes
   defining, 145
   overriding member functions, 155
BeginUpdate function, 370
benefits of object-oriented programming, 21
Berkeley Sockets, 303
binary I/O, 433-437
BinaryReader class, 434
BinaryWriter class, 433
birthdate representation, 261
Bitmap class, 407
bitmaps, displaying on forms, 408
bitwise operators, 43
bold fonts, 405
bool variables, 79
boxing value types, 192, 559
__box keyword, 558, 561
break keyword, 91
break statement, 83
browsers
   using Web Application from, 541
   using Web Service from, 521
brushes, 394
building executables, 13
building Web Services, 514-528
buttons
   events and, 279
   using in forms, 327-335

C
C++
   arrays, 33
   automatic memory management, 132
   casting support, 220, 562
   constants, 35
   data types (table), 30
   enumerations, 36
   exception handling, 201-224
   free-format language, 6
   identifiers, 7
   inheritance, 143-161
   keywords, 7
   Managed. See Managed C++
   
operators and expressions, 40
   operators described, 29
   pointers, 34
   properties, 255-270
   references, 35
   strong type checking, 3
   templates in, 557
   type casting, 44
   typedefs, 37
   variables, 29
calling functions, 57-58
call stack and exceptions, 202
cascading style sheet (CSS), 476
case branch, 82-83
case labels, 82
case-sensitivity of variables, 32
casting
   in C++, 562
   described, C++ support, 220
catch(...) block, 217
CCWs (COM-Callable Wrappers), 615
Checkbox class, 328
child nodes, 470
classes
   See also specific class
   
adding member variables to, 37
   defining derived, 147
   defining in header files, 102
   defining sealed, 160
   delegates and, 272
   and enumerations, 175
   equality and, 190
   managed vs. unmanaged, 100
   metadata, 292
   mixed, 554
   needing overloaded operators (table), 182
   .NET Framework string, 39
   and object-oriented programming, 21
   organizing into header and source files, 100
   polymorphism and, 20
   properties. See properties
   RCW, 602
   and reference types, 165
   and structures, 170
classification schemes, 17
class keyword, 23, 25
class libraries, and .obj files, 8
Class Library, .NET Framework, 292
class-wide members, 113
CLS (Common Language Specification), 291
COBOL, 3
code
   indentation in, 6
   managed and unmanaged, and CLR, 290
   using Web Service from, 523
   writing by hand, 311
collections, garbage, 133
collections interfaces, 300
collections namespaces, 299
color, using, 403-404
COM
   calling control methods, 614
   components, 599-600
   error handling, 606
   identification of components, 604
   late binding, 607
   names and signing, 604
   RCWs and, 600-601
   using components from .NET code, 600
   using .NET components, 615
Combine method, 276
ComboBox class, 330-335
COM-Callable Wrappers (CCWs), 615
command prompt window, opening, 602
commands, ADO.NET, 499
Common Dialogs, 358-360
Common Language Runtime (CLR), 290, 576
Common Language Specification (CLS), 183, 291
Common Type System (CTS), 291
comparison operators (table), 189
Component class, 317
connected applications, 496
constants described, 35
const keyword, 36
constructors
   and aggregate initializers, 173
   creating, 108
   implementing for a struct, 171
   initializing data members, 147
   using exceptions with, 211
context menus, displaying, 344
continue keyword, 91
controls
   ActiveX, using in Windows Forms projects, 609
   building server-side, 305
   calling methods, 614
   directory browsing, adding, 366
   and events, 324
   ListView, 371
   placing on forms, 319
   splitter, 379
   status bars, 386
   System::Windows::Forms namespace (table), 361
   TreeView, 362
   using in forms, 323-339
   Z-order, 379-380
conversions, variable assignment, 33
.cpp files, 101
creating and using forms, 311-323
creating colors, 403
creating data adapters, 507
creating enumerations, 175
creating exception types, 217
creating forms, 311-323
creating Graphics objects, 393
creating objects, 106-108, 129, 153
creating executable programs, 8
creating RCWs, 602
creating structs, 168
creating Web-based applications using ATL Server, 533-541
creating Web Services, 519
credit card accounts, 103
CSSs (cascading style sheets), 476
CTS (Common Type System), 291
CurrentAccount.h, 153

D
data
   dialog boxes and, 353
   modifying with commands, 500
data adapters, creating, 507
databases
   connecting to, 496
   queries and results processing, 501
data hiding, 19
data members
   class-wide, 113
   static, 152
data namespaces, 304
DataSet, adding to form class, 508
DataSet class, object model (ill.), 503
data structures
   arrays. See arrays
   collections. See Collections
data types
   pointers to, 34
   listed (table), 30
debugging, stepping through applications, 59
decision statements
   if statements, 69-80
   switch statement, 80-84
declaring function prototypes, 48
declaring loop variables, 88
declaring parameters in function prototypes, 49
declaring variables, 29, 31-32
decrement operator, 196, 197
decrement operators, 41, 42
defining attributes, 585
defining base classes, 145
defining classes in header files, 102
defining class-wide members, 113
defining constructors, 108
defining delegates, 273
defining destructors, 108
defining function bodies, 51
defining global variables, 63
defining interfaces, 160
defining object relationships, 118-125
defining overloaded functions, 65
defining sealed classes, 160
defining switch statements, 80-84
__delegate keyword, 273
delegates
   calling non-static member functions with, 275
   calling static member functions with, 274
   defining, implementing, 273
   described, 271
   and function pointers, 272
   multicast, 276
delegation, CreditCardAccount example of, 122
delete operator, 124, 130
deleting objects, 130
deployment of assemblies, 294
designing dialog boxes, 349
designing menus, 340
designing inheritance hierarchy, 144
destroying objects, 106, 111
destructors
   defining, 111
   Finalize and, 134
Diagnostics namespace, 300
dialog boxes
   Common Dialogs, 358
   designing, 349
   using, 347-360
   Windows Forms (table), 359
DialogResult property, 352
directories
   browsing, 366
   enabling browsing in forms, 366
   getting information about, 424
   root name and path, 388
Directory class, 424
DirectoryInfo class, 424
DISCO documents, 517
disconnected applications, 503-508
Dispose method, 133-139, 137
divide-by-zero error, 203
DllImportAtribute class, 568
DLLs in Windows, 581
Document Object Model (DOM), 463
Document Type Definitions (DTDs), 452
DOM (Document Object Model), 463
double pointers, 272
Double type, 298
do-while loops, 89-91
drawing methods (table), 395-396
drawing namespaces, 302
drawing objects, 394
DTDs (Document Type Definitions)
DTDs, 452, 454
dynamic allocation and arrays, 234
dynamic_cast, 367
dynamic_cast construct, 221
dynamic casting, 220
dynamic_cast operator, 562

E
elseif keyword, 77
else keyword, 77
encapsulation described, 19
EndUpdate function, 370
enumerations
   avoiding ambiguity, 177
   described, 36, 175
   memory efficiency, 178
enumerators and arrays, 245
enum keyword, 36
equality
   explained, 190
   implementing logical operators and, 189
errors
   base-class constructor, 150
   COM, handling, 606
   divide-by-zero, 203
   exception handling, 201-224
   link, 8
   memory leaks, 106
   missing return value, 55
   in properties, 258
   warnings and, 14
__event keyword, 281
event receivers, implementing, 282
events
   controls and, 324
   described, 279
   handling in forms, 321
   implementing event receivers, 282
   labels, 324-327
   ListView controls (table), 373
   paints, 400
   TreeView controls (table), 364
   XmlDocument class (table), 465
event source classes, 280
examples
   Bank, implementing indexed properties, 261
   delegation, 122
   object-oriented programming, 22
   polymorphism, 20
exception classes, listed (table), 205-206
exception handling, using, 201-224
exceptions
   call stack and, 202
   creating your own types, 217
   described, 201
   generating, 206-207
   handling with try and catch construct, 207-210
   nesting, 213
   rethrowing, 213
   throwing, 204-207
   using across languages, 222
   using with constructors, 211
exception types, 204
expressions, and operators, 40
Extensible Stylesheet Language. See XSL

F
File class, 425
file extensions, header and source files, 101
FileInfo class, 425
files
   getting information about, 424
   working with, 415
FileStream class, 419
finalizers, 134
   cautions about, 137
__finally block, 216
floating point types, 298
fonts, using, 405
for loops, 87-89
forms
   See also Windows Forms
   client area of, 397
   and disconnected applications, 505
   displaying bitmap on, 408
forms namespace, 302
free-format languages, 6
function bodies, declaring, 51
Function keyword, 48
function overloading, 65
function pointers and delegates, 271
function prototypes, 48-51
functions
   See also specific function
   
calling, 57-58
   declaring local variables in, 56
   identifying, and P/Invoke, 565
   local and global scope, 63
   overloaded operator, 181-194
   passing arrays to, 230
   pure vital, 156
   reason to use, 48
   using, 47-66

G
garbage collection
   Finalize and, 135
   manual memory management problems, 236
garbage collector, 106, 111, 133
__gc arrays, 236, 239
__gc classes, 220
GCHandle type, 555
__gc keyword, 25, 100
__gc reference type, 174
GDI+
   graphics with, 302, 391
   printing, 409
GDI32.dll, 566
GDI (Graphical Device Interface), 302
generating exceptions, 206
Generic C++ Class Wizard, 262
GetEnumerator method, 245
GetInvestmentPeriod function, 55-58
get_Length method, 241
get method, 257
getting information about files and directories, 424
global scope, functions, 63
global variables, 63
Graphical Device Interface. See GDI+
graphical output, 391-413
graphics
   color, using, 403-404
   drawing objects, 394
   drawing operations, 395
   fonts, using, 405
   images, handling, 407
   paint events, 400
Graphics class, 393
Graphics objects, creating, 393
GroupBox control, 329
grouping radio buttons, 329
GUI applications, 307

H
handling exceptions. See exception handling
HashTable, 250
header files
   defining classes in, 102
   names of, 101
   organizing classes into, 100
Hello World program, 4-15
.h files, 101
hierarchies in OOP, 18
HTTP, and SOAP, 515
HTTP GET command, 515
HWND data type, 567

I
IComparable interface, 245
iddasm.exe, 576
identifiers
   introduction, 7
   naming convention, 32
IDisposable interface, 137
IEnumerable, IEnumerator interfaces, 247
if statements
   and overloaded operators, 198
   nested, 80
ILDASM tool, 290
IL Disassembler tool, 290
IL (Intermediate Langauage), 290
Image class, 407
images, handling, 407
implementing event source classes, 280
implicit boxing, 561
#include statement, 102
increment operators, 41, 196-197
indented braces, 6
indenting output, 460
indexed properties, 256, 261-270
indexers, 261
inheritance
   advantages for C++ programming, 19
   defining base class, 145
   designing hierarchy, 144
   interfaces, 544
   Managed C++, 145
   private, 148
   using, 143-161
initialization, arrays, 232
input/output. See I/O
installing assemblies, 617
instant members, 99
interfaces
   collections, 300
   defining and using, 160
   forms design, 308
   IEnumerable, IEnumerator, 247
   inheritance, 544
Intermediate Language (IL), 290
Internet Server API, See ISAPI
I/O, binary, 433-437
I/O-oriented classes, 415-416
IO namespace classes (table), 301
ISAPI
   described, 533
   programming and ATL Server, 532
italic fonts, 405

J
Java
   IO mechanism, 415
   .NET namespaces, 296
JIT (Just-In-Time) compiler, 290
jumps, performing unconditional, 91
Just-In-Time (JIT) compiler, 290

K
Kernel32.dll, 566
keys, returning index of, 252
keywords, introduction to, 7

L
labels
   case, 82
   on forms, 324-327
languages, using exceptions across, 222
layout of forms, 321
.lib files, 8
libraries
   Active Template Library (ATL), 309
   system, and class, 8
link errors, 8
ListBox class, 330
listing, directory, 426
ListView controls, 371
   displaying directory details, 375
   properties (table), 372
   splitters, using, 379
ListViewSubItems, 377
Load function, 489
local and global scope, 63
locating Web Service, 524
logical operators, 42
   comparison (table), 189
   and equality, 189
loops, message, 314
loop statements, 84-92
loop variables, 88
LoyaltyScheme class, 118-121

M
main function, 6, 64
making decisions
   if statement, 69-80
   performing loops, 84-92
   switch statement, 80-84
Managed C++
   exception handling, __finally block, 216
   inheritance, 145
   operator overloading, 181
   throwing exceptions, 205
managed classes, 100
managed code vs. unmanaged code, 553
Managed Extension for C++, 290
managed types, overloaded operators in, 183
manual memory allocation, 131
marshalling described, 565
member functions
   access to private members, 105
   defining class-wide, 116
   overriding, 155
   static, 116, 117
members, defining class-wide, 113
memory
   enumerations and, 178
   manual management, problems with, 236
memory allocation
   manual, pros and cons, 131
   .NET approach, 132
memory leaks, 106, 165
menus
   designing, 340
   displaying context, 344
   using in forms, 339-345
message loops, 314
metadata described, 292, 575-587
methods
   BinaryReader class (table), 434
   BinaryWriter class (table), 433
   calling control, 614
   Directory class (table), 424
   DirectoryInfo class (table), 425
   ListView controls (table), 373
   TextReader class, 421
   TextWriter (table), 417
   TreeView controls (table), 364
   XmlDocument class (table), 464
   XmlNode class (table), 466
   XmlTextReader class (table), 446
   XmlTextWriter class (table), 458
   XPathNavigator class (table), 478
Microsoft Foundation Classes (MFC), 309
Microsoft Intermediate Language (MSIL), 290
mixed classes in unmanaged code, 554
modulus assignment operator, 41
MSDN, 482
multicast delegates, 276
multidimensional arrays, 233
multi-way tests, 75

N
namespaces
   collections, 299
   data, 304
   Diagnostics, 300
   drawing, 302
   forms, 302
   net, 303
   .NET Framework, described, 295-305
   System, 297
   System::IO, 415
   System.Windows.Forms, 310
   using in C++ programs, 296
   Web, 304
   Web Services (table), 518
   XML, 304, 444
naming COM interfaces, 543
naming conventions, 32
naming variables, 32
native C++ arrays, 227, 231
nested structures, 171-172
nested tests, 78
nesting exceptions, 213
.NET
   components, using as COM components, 615
   DLLs in Windows, 581
   garbage collection mechanism, 133
   memory allocation approach, 132
   types, and COM objects, 616
   value types, 165-178
.NET Framework
   ADO.NET. See ADO.NET
   array class, 239
   Class Library, 291-292
   and COM, 309-310, 599-600
   delegates and events, 271-285
   described, 289
   dialog boxes and windows, 348
   exceptions and, 203
   garbage collection, 133
   graphics. See GDI+
   namespaces, 295-305
   predefined attributes, 578
   reflection, 591
   String class, 39
   value types (table), 166
   value type support, 25
   Web programming, 304
   XML. See XML
net namespaces, 303
new operator, 106, 129, 234
nodes
   child, 470
   TreeView, 362
   XmlDocument objects, 465
Nodes collection, removing TreeNodes from, 370
NodeType enumeration, 447
__nogc keywords, 237
null pointers, 252
null pointer test, 124

O
Object::Equals method, 191
object lifetimes, controlling, 129-141
object-oriented programming (OOP)
   access modifiers, 23
   benefits to development cycle, 21
   classes and objects, 21
   example, 22-28
   features, 18-21
   introduction, 17
object relationships, defining, 118-125
objects
   controlling lifetime of, 129-141
   creating and destroying, 106-108, 129, 153
   creating Graphics, 393
   deleting, 130-131
   drawing, 394
   dynamically created, 130
   fire and forget, 218
   hierarchies, 18
   and object-oriented programming, 21
   value type, 25
.obj files, 8
Obsolete attribute, 582
OleDbCommand objects (table), 504
one-way tests, 70
OOP. See object-oriented programming (OOP)
op_Assign function, 193
opening Command Prompt window, 602
operator functions, overloading, 187
operator keyword, 186
operator overloading, 181-198
operators
   described, 40-45
   and expressions, 40
   implementing in value types, 184
   list of (table), 45
   overloading, 181-198
   precedence and associativity, 45
   type casting, 44
ordering, tab, 358
OR operator, overloading, 198
overloaded operators
   functions, 181-198
   guidelines for providing, 198
   and indexed properties, 256
overloading functions, 65
overriding member functions, 155

P
page handler function, 412
paint events, 400
passing structures, unmanaged code, 569
PDF, transforming XML to, 476
pens, 394
Pens class, 394-395
__pin keyword, 558
pinning pointers, 558
P/Invoke (Platform Invoke) mechanism, 565
pointers
   calling delete on, 235
   described, 34
   double, 272
   null, 252
   pinning, 558
   seek, and streams, 438
polymorphism described, 20
#pragma once directive, 146
precedence operator, 45
predefined attributes, 578-579
printing
   page handler function, 412
   functionality, 409
private inheritance, 148
private keyword, 23-24
processing messages, 314
programs
   executing, 14
   running and testing, 9
   using enumerations in, 177
projects
   adding C++ source file to, 12
   creating, 9
properties
   described, 255
   dialog boxes, 348
   errors in, 258
   Font class (table), 405
   form (table), 315-316
   indexed, described, 256
   ListView controls (table), 372
   scalar, described, 256
   Toolbar class (table), 381
   TreeView controls (table), 363
   value types, 167
   XmlDocument class (table), 464
   XmlNode class (table), 466
   XmlTextReader class (table), 446
   XmlTextWriter class (table), 457
   XmlValidatingReader class (table), 453
   XPathNavigator class (table), 478
__property keyword, 259
protected access specifier, 150-151
ptrLoyaltyScheme pointer, 124
public keyword, 24, 148
pure vital functions, 156

Q
queries, executing to database, 501

R
RadioButton class, 328
radio buttons, using as group, 329
rateFraction variable, 54
RCWs
   handling COM errors, 606
   late binding to COM objects, 607
   process described, 600-601
   standard interfaces handled by (table), 601
read-only property, 259
references described, 35
reference types
   and arrays, 237
   overloading, 197
   and value types, 165
reflection, using to get attribute data, 591
relational operators, 42
relationships between forms, 318
Remove method, 267, 276
replacement tags, 534
rethrowing exceptions, 213
return keyword, 52, 54
reusing classes, 21
RTF, transforming XSL into, 476
Runtime-Callable Wrappers. See RCWs
run-time exceptions, undeleted objects, 106

S
scalar properties, 256-261
scope, local and global, 63
sealed classes, 160
searching arrays, 243
seek pointers, streams and, 438
Server Response File (SRF), 534
set method, 257
Simple Object Access Protocol. See SOAP
Single type, 298
sizeof operator, 44
Size property, 327
SOAP
   and HTTP, 515
   introduction, 516
SortedList class, 250
sorting arrays, 244
source files
   adding C++ code to, 13
   adding to projects, 12
   implementing a class in, 103
   names, 101
   organizing classes into, 100
splitter controls, 379
SQL, WHERE clause in statement, 500
SqlConnection object, 496
SqlDataAdapter, 507
SQL Server
   authentication, 497
   data provider, 497
SRFs (Server Response Files)
   commands for complex processing, 536
   Web-based application requests, 534
static data members, 152
static member function, 116, 117
StatusBar class, 386-389
status bars, using, 386
stepping through applications with debugger, 59
streams and seek pointers, 438
strikeout font, 405
string class
   described, 39
   immutability, 40
   .NET Framework, 39
StringCollection class, 253
Stroustrup, Bjarne, 186
struct keyword, 168
structs, creating, 168, 171
structures
   and classes, 170
   described, 167-168
   investigating value type, 169
   nested, 171-172
style sheets, XSL, 486
Sub keyword, 48
switch statement, 450
system and class libraries, 8
System::Array class, 239
System::Collections namespaces, 247, 299
System::Data namespaces, 304
System::Diagnostics namespace, 300
System.DivideByZero error, 204
System::Drawing namespaces, classes (table), 392
System::Drawing::Printing namespace, 409
System.Enum class, 175
System::Exception class, 205, 217
System::IO namespace, 301, 415
System namespace, 205, 297
System::Runtime::InteropServices namespace, 553
System::Runtime::Serialization namespace, 438
System::Type class, 592
System.ValueType class, 167, 175
System::Windows::Forms namespace, 302, 310, 361
System::Xml namespace, 444

T
tab ordering, 358
tabs, replacement, 534
TConverter object, 602
templates
   in C++, 557
   and XSL stylesheets, 486
ternary operators, 44
testing
   event sources and receiver classes, 284
   programs, 9
   defining tests with if statements, 69-80
TextBox class, 335-339
TextReader class, 417, 421
TextWriter class, 417
throwing exceptions, 204-207
throw keyword, 203
tilde (~), 111
tlbimp.exe tool options (table), 603
_tmain function, 203, 422
ToolBarButton class, properties (table), 382
Toolbar class, 381-386
toolbars, using, 381-386
TreeView controls, 362, 363, 379
try and catch construct, 207
__try_cast keyword, 220
two-way tests, 74
type casting, 44
Type class, 592
typedef keyword, 37
typedefs described, 37
types
   assemblies, 294
   exception, 204
   floating point, 298
   System namespace, 297

U
UDDI (Universal Description, Discovery, and Integration), 523
unboxing value types, 559-562, 561
unconditional jumps, 91
underline fonts, 405
Universal Description, Discovery, and Integration (UDDI), 523
unmanaged C++, operator overloading in, 186
unmanaged classes, 100
unmanaged code
   boxing and unboxing, 559
   calling functions in Win32 API, 565
   casting in C++, 562
   DllImportAttribute class, 568
   GCHandle type, 555
   identifying functions, 566
   marshalling, 565
   mixed classes, 554
   operator overloading in, 186
   passing structures, 569
   pinning pointers, 558
   templates in C++, 557
   vs. managed code, 553
URLs
   dialog box design, 349
   XML SDK documentation, 482
User32.dll, 566
#using keyword, 296
#using preprocessor, 296
UUID, COM interface, 543

V
__value classes, 220
__value keyword, 168, 175
values
   assigning to variables, 32
   and overloaded operators, 182
   returning index of, 252
value types
   listed (table), 166
   .NET support, 25
   overloading, 184
   and reference types, 165
   structures, 167-168
variables
   adding member, to classes, 37
   assignment conversion, 33
   declaring multiple, 32
   described, 29
   enum, 175
   global, 63
   local, declaring in functions, 56
   loop, 88
   naming, 32
   and references, 35
versioning, assemblies, 294
Visual Basic and C++, 3
Visual Studio, opening Command Prompt window, 602
void return type, 48

W
W3C Document Object Model, 463
warnings
   C4244 variable conversion, 33
   C4286 catch blocks in wrong order, 211
   and errors, 14
Web Application
   creating using ATL Server, 537
   using from browser, 541
Web namespaces, 304
Web Service, 305
Web Services
   accessing ATL Server, 547
   architecture, 515
   creating, 519
   data formats, protocols, 515
   debugging, 527
   discovery of, 517
   introduction, 513
   locating, 524
   namespaces (table), 518
   scenario, 514
   using from browser, 521
   using from code, 523
   writing in ATL, 541
while loops, 84-86
windows
   DLLs in, 581
   and forms, 308
Windows API, 291
Windows Forms
   See also forms
   adding buttons to, 327-330
   ALT and, 309
   common dialog boxes (table), 359
   controls, using, 323
   creating and using, 323
   designers and, 308
   form relationships, 318
   handling events, 321
   introduction, 307
   labels, 324
   layout, 321
   Listbox, Combobox, 330-335
   menus, 339-345
   placing controls on, 319
   properties (table), 315
   splitters, adding, 379
   status bars, adding, 386
   System.Windows.Forms namespace, 310
   Textbox control, 335-339
   using ActiveX controls in, 609
   vs. MFC, 309
Wittgenstein, 18
wizards
   ATL Server Project, 537
   Generic C++ Class, 262
working with files, 415-433
wrappers, See RCWs
WriteLine function, 419
write-only property, 259
wsdl.exe, 527

X
XML
   handling attributes, 452
   namespaces supporting (table), 444
   and .NET, 444
   processing classes, 445
   reading and writing, 443
   transforming, 475-490
   verifying well-formed, 451
   W3C document object model, 463
   writing using XmlTextWriter, 457
   XmlDocument class, 462
   XmlNode class (table), 465
XmlDocument class, 445, 462, 464
XmlElement, 467
XML namespaces, 304
XmlNode class, 465, 467
XML Path Language. See XPath
XmlTextReader class, 445
XmlTextWriter class, 445, 457
XmlValidatingReader class, 445
XPath
   syntax, 476-477, 483
   using with XPathNavigator, 482
   XPathNavigator class, 477
XPathNavigator class, 477, 479-482
XSL
   style sheet basics, 486
   transforming a document using, 485
   using, 476
   and XML, 475
XSLT (XSL Transformations), 476

Y
Young, Michael, 443

Z
Z-order, 379



Last Updated: January 12, 2002
Top of Page