Index
Symbols
- 61
/ 61
A
absolute address 356
Abstract Data Types 22
ADT 22
[Alias] 120
allocation 102
Allocators 37
AppendMenu: 200
AppExpert 64, 116, 117, 191, 209, 250, 299, 314
argc 61, 63
argv 61, 62, 63
Array 26, 28
assert 332, 348
Association 28
.AVI 234
AWK 28
B
backwards-compatibility 21
Bag 27
base address 356
bathroom 161
BDS501.DLL 20
Bermuda Triangle 250
BIDS 20
BIDS Iterators 36
BinaryTree 30
Bitmap
CF_BITMAP 224
CF_DIB 224
CF_PALETTE 224
[Bitmaps] 120, 128
blindmen and the elephant 252
bmc 128, 131
bml 128, 131
bmr 128, 131
Bridge 68, 419
brown sequence 125
C
C++ Project Software Design
442
C++ Report
81, 396
Callbacks 81
_CALLCNVN 447
calling conventions 448
CArray 38
cdecl 448
CF_BITMAP 222
CF_DIB 222, 224
CF_ENHMETAFILE 222
CF_METAFILEPICT 222
CF_OEMTEXT 222
CF_OWNERDISPLAY 221, 226
CF_PALETTE 222
CF_RIFF 222
CF_TEXT 221, 222
CF_TIFF 222
CF_UNICODETEXT 222
CF_WAVE 222
CHECK 348, 352
CHECK() 408
ClassExpert 116, 191
ClassLib 2, 20
definition of 20
CLEANUP_HELPCONTEXT 137, 138
clipboard viewer 229
CloseClipboard 219
CloseHandle 49
CLSID 433
CM_EXIT 95
CM_FILEEXIT 200, 327
CM_FILENEW 318
CM_FILEOPEN 95
CM_FILESAVE 324
CM_HELPABOUT 317
CM_MRU_FIRST 95
CObject 13
CoCreateInstance 433
COM 423, 425, 431
command-line argument 60
Component Object Model (COM) 432
Composite 269
compound documents 269
CondFunc 33, 35
[CONFIG] 131
[Config] 119
Containers 21
context string 118, 122
CREATE_SUSPENDED 149
CreateMutex 165
CreateSemaphore 170
CreateThread 148, 149, 152
critical sections 63, 163, 168
.CSM 438
CString 79
CStringArray 20
CTime 39
CTimeSpan 39
Current 36
D
DBWIN.EXE 341
DCOM 431
DDE 431
deadlock 152
DEB.EXE 341
DECLARE_HELPCONTEXT 138
_declspec(thread) 179
Decorator 104
DEFINE_DOC_TEMPLATE 296, 299, 315
DEFINE_HELPCONTEXT 138
DEFINE_MESSAGE_MAP 89
DEFINE_RESPONSE_TABLE 136
delete 65
Delphi 410, 413
-424
Deque 27
Design Patterns 75, 98, 104, 250, 251, 259, 269, 419,
DIAG_DECLARE_GROUP 346, 347
DIAG_DEFINE_GROUP 347
DIAG_DEFINE_GROUP_INIT 347
[Diagnostics] 349
DIAGXPRT 341, 408
Dictionary 28
DISABLE_EXCEPTIONS 362
DispatchMessage 148, 186
DLGTEMPLATE 79
DLL 67, 413
dllimport
_declspec(export) 446
_declspec(import) 446
dmMDI 287
dmMenu 287
dmNoRevert 287
dmSaveEnable 287
dmSDI 287
document 260
document manager 254
document-centric computing 260
DocWithFocus 260
DoubleList 28, 30
Dr. Watson 353, 354
DrawFrameControl 247
DrawState 247
dtAutoDelete 300
dtAutoOpen 300
dtCreatePrompt 301
dtFileMustExist 301
dtHidden 301
dtHideReadOnly 301
dtNewDoc 289, 300
dtNoAutoView 300
dtOverwritePrompt 301
dtPathMustExist 301
dtReadOnly 301
dtSelected 301
dtSingleView 300
dtUpdateDir 300
Dynamic Data Exchange 228
dynamic_cast 263, 307
E
encapsulation 11, 21
EnterCriticalSection 168
ERR_ALLOCRES 399
ERR_BADINDEX 400
ERR_BYTE 400
ERR_CREATEDC 400
ERR_CREATEDLG 399
ERR_CREATEDLG2 399
ERR_CREATEMENU 400
ERR_CREATEMETA 400
ERR_CREATEWND 399
ERR_DCBUSY 399
ERR_DELOBJSELECTED 400
ERR_DWORD 400
ERR_GALLOC 399
ERR_GLOCK 399
ERR_GREALLOC 399
ERR_LALLOC 399
ERR_LLOCK 399
ERR_LOADMENU 400
ERR_LOADMODULE 399
ERR_LOADSTR 400
ERR_LOCKRES 399
ERR_LREALLOC 399
ERR_NESTEDBEGINPAINT 400
ERR_REGISTE>
399
ERR_SELBITMAP 400
ERR_STRUCEXTRA 399
ERR_WARNING 400
ERR_WORD 400
ERROR_ALREADY_EXISTS 165
EV_COMMAND 191
EV_OWLVIEW 317
EV_VN_COMMIT 279
EV_VN_DOCCLOSED 279
EV_VN_DOCOPENED 279
EV_VN_ISDIRTY 279
EV_VN_ISWINDOW 279
EV_VN_REVERT 279
EV_VN_VIEWCLOSED 279
EV_VN_VIEWOPENED 279
EvAskCBFormatName 227
events 163, 172
EvPaintClipboard 227
EvRenderAllFormats 226
EvSizeClipboard 227
_except 402
exception handling 354, 362
-394
EXCEPTION_ACCESS_VIOLATION 404
EXCEPTION_ARRAY_BOUNDS_ EXCEEDED 405
EXCEPTION_BREAKPOINT 405
EXCEPTION_CONTINUE_ EXECUTION 406
EXCEPTION_CONTINUE_SEARCH 403, 406
EXCEPTION_DATATYPE_ MISALIGNMENT 405
EXCEPTION_EXECUTE_HANDLER 403, 406
EXCEPTION_FLT_DENORMAL_ OPERAND 405
EXCEPTION_FLT_DIVIDE_BY_ZERO 405
EXCEPTION_FLT_INEXACT_RESULT 405
EXCEPTION_FLT_INVALID_ OPERATION 405
EXCEPTION_FLT_OVERFLOW 405
EXCEPTION_FLT_STACK_CHECK 405
EXCEPTION_FLT_UNDERFLOW 405
EXCEPTION_GUARD_PAGE 405
EXCEPTION_ILLEGAL_INSTRUCTION 405
EXCEPTION_IN_PAGE_ERROR 405
EXCEPTION_INT_DIVIDE_BY_ZERO 406
EXCEPTION_INT_OVERFLOW 406
EXCEPTION_INVALID_DISPOSITION 406
EXCEPTION_NONCONTINUABLE_ EXCEPTION 406
EXCEPTION_PRIV_INSTRUCTION 406
EXCEPTION_SINGLE_STEP 406
EXCEPTION_STACK_OVERFLOW 406
ExceptionFilter 403
exceptions 55
exit 150, 333
ExitProcess 150
ExitThread 150
Experts 117
_export 445
F
Factory Method 259
fastcall 415, 449
[Files] 119
_finally 402
Find 33
FindFirst 45
FindFirstFile 45
FindNext 45
FindNextFile 45
FirstThat 33, 34
_FLAT_ 436
Flyweight 26
ForEach 33
function 82
functor 97,
81
Fundamental Data Structures 22
G
garbage 332
GetApplicationObject 148
GetExceptionCode 403
GetLastError 168
GetMessage 6, 186
getopt 62, 64
GetProcAddress 415
global variables 146
GlobalAlloc 69
GlobalFree 69
GNU 62, 79
GNU getopt 64
H
HANDLE 217
HasFocus 260
HashTable 31
HCENTRY_CONTROL 138
HCENTRY_MENU 138
HCENTRY_MENU_AND_CONTROL 139
HCW.EXE 124, 132
headers 436
-460
heap 67
HELLO.C 3
HELLO.EXE 2
Help 114
help keywords 126
HELP_COMMAND 133, 134
HELP_CONTENTS 133, 134
HELP_CONTEXT 133
HELP_INDEX 125, 133, 134
HELP_KEY 133, 134
HELP_MULTIKEY 128
HELP_QUIT 133, 135
.HH 139
HINSTANCE 67, 69, 79
hint text 191
Hints 116
HKEY_LOCAL_MACHINE 72
.HLP 118, 119, 128
HMENU 194
.HPJ 119, 129, 139
HRESULT 390
hyperlinks 123
hypertext links 118
I
IClassFactory 433
IdleAction 147
ifstream 47
iIterator objects 33
ILockBytes 433
_import 445
INFINITE 165
inheritance 13
and smart pointers 58
.INI file 70, 71
initialization 102
.INL 457
InsertMenu 204
InterProcess Communication (IPC) 96
intrinsic 403
ios::nocreate 40
IOStreams 49, 265
IPersist 433
IStorage 433
IStream 39, 265, 433
iteration methods 33
IterFunc 33
IUnknown 432
AddRef 432
QueryInterface 432
Release 432
J
Java 410, 426
-427
K
KnowledgeBase 114
L
LastThat 33, 34
_leave 402
LeaveCriticalSection 168
Lists 31
LoadImage 247
LoadLibrary 215, 415
logical address 356
lpComandLine 61
lpszMenuName 192
LPTHREAD_START_ROUTINE 149
M
main 61, 62, 149, 151
MAKEINTRESOURCE 78
.MAP 357
[Map] 120
MAXIMUM_SUSPEND_COUNT 159
Media Control Interface (MCI) 234
memory leak 55
MENUITEMINFO 202
message loop 6
MessageBeep 337
MessageBox 334, 335, 417, 451
MessageBoxA 417, 451
MessageBoxW 451
Metafile
CF_ENHMETAFILE 224
CF_METAFILEPICT 224
MF_BYCOMMAND 204
MF_BYPOSITION 204
MFC 20
.MID 234
Model/View/Controller 250
::Module 375
More Effective C++
58, 59, 225, 364, 396
multiple inheritance 88
mutexes 163
N
name-mangling 415
native 426
NDEBUG 333
new 65
NFY_LOGERROR 398
NFY_LOGPARAMERROR 398
NFY_RIP 398
NIH 13
1880s C++ 21, 36
NotifyRegister 398
NotifyUnRegister 398
O
object 21, 152
Object Pascal 414, 417, 422
Observer 250, 252, 263
OBSOLETE 21
OCF 81
odebugstream 340
ofstream 40, 47, 339
OLE 70, 73, 269, 270
omsgstream 335
On Error 364
online help 114
OpenClipboard 218
OpenDoc 259, 269, 270
OpenFile 49
operator 36
operator int 36
operator++ 36
[Options] 119
ostream 105, 265
ostrstream 335
oteestream 342
OUTDEB32 341, 408
OutputDebugString 340, 344
OWL code
DEFS.H 443
DIALOG.CPP 380
DIB.CPP 378, 386
DOCMANAG.CPP 251
DOCMANAG.H 251
DOCTPL.CPP 251
DOCTPL.H 251
DOCUMENT.CPP 251
DOCVIEW.H 251, 276
EDITVIEW.CPP 378
EVENTHAN.H 91
FILEDOC.CPP 267
GDIBASE.CPP 386
GDIOBJEC.CPP 386
HLPMANAG.H 135
LAYOUTWI.CPP 380
METAFILE.CPP 378
OWLALL.H 443
OWLCORE.H 443
OWLHELLO.CPP 8
PCH.H 443
PO>
447
PR>
447
RCNTFILE.CPP 95
RCNTFILE.H 92
REGION.CPP 386
SHELLITM.CPP 390
THREAD.CPP 153
VIEW.CPP 251
WINDOW.CPP 380
WINDOW.H 104
OWL properties
FindProperty 304
GetProperty 304
PropertyCount 304
PropertyFlags 305
PropertyName 304
SetProperty 304
_OWLALLPCH 444
_OW>
444
OwlMain 9, 149, 315, 316
_OWLPCH 444
P
Pair class example 23
parts 259
pascal 415, 449
PeekMessage 148
Perl 28
placement new 102
POINT 73
POINTL 73
popup menus 190
post-mortem 353
#pragma comment 459
#pragma hdrfile 438
#pragma hdrstop 438
precompiled headers 437
PRECONDITION() 333, 348, 352, 408
principle of perpetual employment 81
printf 334
priority 152
process 147
profile 70
ProgID 433
properties
Doc/View 302
protected_data 449
Prototype 68
Proxy 26, 75
public_data 449
PumpWaitingMessages 147
puns 116
Q
QueryViews 271
Queue 28
R
raise 366
RCDATA 79
RECT 74
reference-counters 56
registry 70, 71
relative virtual address (RVA) 356
ReleaseSemaphore 171
resource ID 207
ResumeThread 150
RPC 427
.RTF 119, 121
RTL 80, 416, 419
RTTI 263, 306
S
scope block 213
SDK 453
SEH 408
SEM_NOOPENFILEERRORBOX 215
semaphores 63, 163, 170
Services 2, 80
definition of 20
Set 29
SetErrorMode 212
SetThreadPriority 150
SETUP_HELPCONTEXT 137, 138
single-file include 440
single-hierarchy model 21
SIZE 74
Smalltalk 13, 21
smart callbacks 78
smart pointers 49
sprintf 335
Stack 29
Standard Template Library 59
starting address 356
starvation 152
static TLS 179
stdcall 414, 415, 448
STL 37, 80
STRATEGY 98
streambuf 49, 105
string 79
strtok 146, 177
structured exception handling (SEH) 77, 397, 402
synchronization 152
system menu 190
T
TAEnvelope 53
TAnimateCtrl 385
TAPointer 51
TAppDictionary 402
TApplication 9, 16, 61, 135, 186, 254, 255, 316
CanClose 327
GetDocManager 283
InitInstance 381
Run 9, 372
SetDocManager 283, 316
TargetExpert 84, 146, 417, 458
TBitmap 204, 386
TClipboard 216, 383, 384
CountClipboardFormats 233
EmptyClipboard 217
GetClipboard 217
GetClipboardData 218
GetClipboardOwner 233
GetClipboardViewer 233
GetOpenClipboardWindow 233
TClipboard (continued)
GetPriorityClipboardFormat 233
OpenClipboard 233
SetClipboardData 217
SetClipboardViewer 233
TClipboardFormatIterator 228
TClipboardViewer 89, 103
TCmdLine 60
TColor 75
TCountedSemaphore 170
TCOwl Unhandled 376
TCP/IP 431
TCriticalSection 168
TD32 356
TDate 39
TDecoratedFrame 191
TDiagBase 345
TDialog 16
TDib 386
TDocManager 254, 255, 282, 283
-296, 316
AttachTemplate 293
CmFileClose 293
CmFileNew 293, 319
CmFileOpen 293
CmFileRevert 293
CmFileSave 293, 324
CmFileSaveAs 293
CmViewCreate 293
CreateAnyDoc 289, 319
CreateAnyView 289, 291
CreateDoc 289, 290, 320
CreateView 289, 291, 323
DeleteTemplate 293
EvCanClose 293, 327
EvPreProcessMenu 293
EvWakeUp 293
FindDocument 292
FlushDoc 291, 328
GetApplication 293
GetCurrentDoc 292
GetDocList 293
GetModeFlags 293
GetNewTemplates 288
GetNextTemplate 293
GetSaveTemplates 288
GetTemplateCount 287
GetTemplateDescription 289
GetTemplateList 293
GetUntitledIndex 293
GetViewTemplates 288
Init 317
InitDoc 289, 290, 321
IsAMatch 292
IsFlagSet 293
MatchTemplate 292
PostDocError 274, 296
PostEvent 296, 323
RefTemplate 293
SelectAnySave 291
SelectDocPath 289
SelectDocType 289
SelectSave 291
TApplication 293
TDocManager 316
TEventHandler 293
UpdateFileMenu 296
TDocProp 259
TDocTemplate 255, 282, 296, 299, 316
ClearFlag 302
Clone 301
ConstructDoc 301
ConstructView 301
GetDirectory 301
GetDocManager 301
GetFlags 302
GetModule 301
GetNextTemplate 302
GetRefCount 302
IsFlagSet 302
IsMyKindOfDoc 301
IsMyKindOfView 301
SetDirectory 301
SetDocManager 301
SetFlag 302
SetModule 301
TDocTemplateT 296, 316
TDocument 253, 255, 255
-269
CanClose 259, 261, 327
Close 259, 260
Commit 259, 261, 325
DocTitle 309
DocumentClass 309
DocWithFocus 273
GetEmbedded 274
GetNextView 272
GetOpenMode 274
GetParentDoc 259
GetParentDocument 270
GetRootDocument 270
GetTag 274
GetViewList 260, 272
HasFocus 272
InitView 260, 274
IsDirty 259, 261
IsOpen 259, 261
NextView 260
NotifyViews 260, 271, 325
Open 259, 260
PostError 260, 274
QueryViews 260
Revert 259, 261
RootDocument 259
SetDirty 259, 261
SetEmbedded 274
SetOpenMode 274
SetTag 274
StoragePath 309
TemplateName 309
ViewCount 309
TDragListReceiver 89
TDropInfo 78
TDUMP 356
technical support 114
technobabble 117
TEdit 281, 391
TEditView 251, 265, 279, 281, 309, 315
VnCommit 326
template 454
TEnvelope 52, 58
TerminateThread 150
TErrorMode 212
TEventHandler 89, 91, 278, 287
TEventSemaphore 172
TEventStatus 104
Text
CF_OEMTEXT 224
CF_TEXT 224
CF_UNICODETEXT 224
TFile 14, 47
TFileBuf 267
TFileDocument 251, 267, 274, 309
TFileDroplet 78
TFileInStream 268
TFileName 40, 43, 48
Canonical 41
Exists 41
flaws 44
TFileNameIterator 45, 48
TFileOutStream 268
TFileStreamBase 267
TFixedPoint 64
TFloatingFrame 281
TFrameWindow 10, 15
TFunctor 160
TFunctorBase 81
TGlobalHeapAllocator 38
The Design and Evolution of C++
396, 464, 488
THeapSelector 65
THelpFileManager 132, 134, 135
THotKey 385
thread 144, 147
thread synchronization 161
THREAD_PRIORITY_ABOVE_ NORMAL 152
THREAD_PRIORITY_BELOW_ NORMAL 152
THREAD_PRIORITY_HIGHEST 152
THREAD_PRIORITY_IDLE 153
THREAD_PRIORITY_LOWEST 152
THREAD_PRIORITY_NORMAL 152
THREAD_PRIORITY_TIME_CRITICAL 153
thread-local storage (TLS) 177, 179
THROW 371
THTMLDocument::InStream 262
TInStream 259, 264
Tip of the Day 117
TKind 63
TLetter 52
TListView 251, 279, 281
TListWindow 385
TLocalHeapAllocator 38
TLock 164, 171, 173
TlsAlloc 181
TlsFree 181
TlsGetValue 181
TlsSetValue 181
TMci 234
TMciWaveAudio 235
TMDIChild 281, 315
TMenu 193, 193
-195, 296, 387
AppendMenu 204
CheckValid 388
DeleteMenu 205
ModifyMenu 204
RemoveMenu 204
TMenuDescr 205, 278, 318
TMenuGadget 199
TModule 16
TModuleProc 377
TModuleVersionInfo 377
TMsgThread 186
TMutex 164
TMyFrameWindow::CmDoSomething 195
TOleDocument 274, 276
TOOLHELP 397, 398, 408
Tooltips 116
topic index 118
topic titles 122
topics 118, 122
TOutStream 259, 265
TPaletteEntry 76
TPictDecorator 106
TPictDialog 106
TPictWindow 110
TPoint 73
TPointer 50, 58
TPointF 73
TPointL 73
TPopupMenu 193, 198
-199
TPrinter 388
Print 389
TPrintout 388
TProcInstance 78
TProfile 20, 70, 72, 94
TPXPictureValidator 392
TRACE 344, 408
TRACEX 344, 345, 346, 408
TRecentFiles 89, 92, 205
GetMenuText 95
TRecentFiles 94
TRect 74
TRegistry 20
TRegKey 72
TRegKeyIterator 84
TRegValue 72, 73
TRegValueIterator 84
TResId 78
TResource 79
TRgbQuad 76
TRgbTriple 76
_try 402
TSemaphore 163
TSemaphoreSet 174
TSerializer 96, 98, 341
TSerializeReceiver 89, 96
BlockReceived 100
TShellMalloc 390
TSize 74
TSocket 48
TStandardAllocator 37
TStaticSync 174, 176
TStatusBar 191
TStorageDocument 251, 275
TStream 259, 262, 264
TStreamableBase 259, 287, 299
TString 80
TSync 174, 175
TSystem 76
TSystemInfo 77
TSystemMenu 193, 197
TTabWindow 281
TTextGadget 199
TThread 152, 153, 156
Exit 156
Resume 156
Run 160
Start 158
Suspend 156
TTime 39
TTinyCaption 89, 104
TTreeWindow 385
TUIBorder 236, 237
TEdge 239
TFlag 239
TStyle 239
TUIFace 236, 241
-244
TUIHandle 236, 244
-245
TUIHelper 247
TUIMetric 77
TUIPart 236, 245
-247
TVersionInfo 77
TView 253, 255, 276
BumpNextViewId 278
GetDocument 278
GetNextViewId 278
GetTag 278
GetViewId 278
GetViewMenu 278
GetViewName 278
GetWindow 278
IsOK 278
SetDocTitle 278
SetTag 278
SetViewMenu 278
StaticName 278
TDocTemplate 278
ViewClass 309
ViewName 309
TVoidPointer 53
TWindow 9, 15, 156
DefWindowProc 111
SubclassWindowFunction 111
TWindowView 251, 282
TXBase 370, 376
Clone 371
TXClipboard 219, 383
TXCommCtrl 385
TXCompatibility 393
TXGdi 386
TXInvalidMainWindow 381
TXInvalidModule 372, 382, 396
TXMenu 194, 387
TXOutOfMemory 378
TXOwl 372, 374, 377
MakeMessage 376
ResourceIdToString 375
TXPrinter 388
Raise 389
TXShell 389
Check 390
TXValidator 391
TXVbxLibrary 392
TXWindow 379
type-safety 14
U
UI 115
UNC 40
Universal Resource Locator (URL) 45
Universal Unique Identifier (uuid) 429
user interface design 115
V
VDBT 81
Vector 31
Resize 32
ventilator icon 190
virtual inheritance 88
Visual Basic 410, 424
Visual C++ 61, 79
version 4.2 38
VnCommit 280
VnDocClosed 280
VnDocOpened 280
VnIsDirty 280
VnIsWindow 280
VnRevert 280
VnViewClosed 280
VnViewOpened 280
W
WAIT_ABANDONED 165
WAIT_OBJECT_0 166
WAIT_TIMEOUT 165
WaitForSingleObject 165
WARN 333, 348
WARNX 348
.WAV 234
WCHAR* 452
WIN32_EXTRA_LEAN 442
WIN32_LEAN_AND_MEAN 441
[Windows] 120
Windows 4.0 390
Windows Tech Journal
401
WinHelp 130, 132
WinMain() 2, 4, 61
WinSpector 353, 354
WinSys 2, 70, 73, 80
definition of 20
Wizards 117
WM_CANCLOSE 327
WM_CHANGECBCHAIN 230
WM_COMMAND 200
WM_COPYDATA 96
WM_DESTROYCLIPBOARD 220
WM_DRAWCLIPBOARD 231
WM_DRAWITEM 201
WM_DROPFILES 78
WM_MOUSEMOVE 245
WM_OWLDOCUMENT 279, 296, 322
WM_OWLLAST 279
WM_OWLNOTIFY 271, 272, 279, 323, 325
WM_OWLVIEW 279, 296
WM_RENDERALLFORMATS 221
WM_RENDERFORMAT 221
WN 192
WndProc 2, 7
worker thread 144
WS_EX_CONTEXTHELP 136
X
xalloc 367, 389
xmsg 365, 371, 376