目 录 1
第一章 1
VCL的结构 1
1.1概述 1
1.2TObject 2
1.3TPersistent 5
1.4TComponent 6
1.5TControl 10
1.6TWinControl 25
1.7TGraphicControl 37
1.8TCustomControl 38
2.1.1打开菜单设计器 39
2.1 菜单 39
设计应用程序的图形界面 39
第二章 39
2.1.2TMenuItem对象 40
2.1.3菜单嵌套 46
2.1.4应用菜单模板和菜单资源 47
2.1.5TMemu对象 47
2.1.6TMainMenu元件的特性、方法、事件 49
2.1.7怎样在运行期控件菜单 50
2.2快捷菜单 50
2.3标签 52
2.4编辑框 55
2.5多行文本编辑器 60
2.6命令按钮 62
2.7复选框 63
2.8单选框 65
2.9列表框 67
2.10组合框 75
2.11滚杆 78
5.2.3TPageControl元件的特性、方法和事件 79
2.13单选分组框 81
2.12分组框 81
2.14窗格 83
2.15动作列表 85
2.15.1动作列表机制的三个环节 85
2.15.2管理动作列表 85
2.15.3为客户指定一个动作 87
2.16位图按钮 87
2.17快捷按钮 89
2.18按格式输入编辑框 90
2.19 自绘栅格 93
2.20字符串栅格 98
2.21图像 100
2.22几何图形 102
2.23分界 103
2.24滚动箱 104
2.25带复选框的列表框 106
2.26尺寸调节杆 107
2.27静态文本 110
2.28TControlBar 111
第三章 113
公共对话框 113
3.1TCommonDialog 113
3.2“打开”对话框 114
3.3“另存为”对话框 119
3.4能预览图像的“打开”对话框 119
3.5能预览图像“另存为”对话框 120
3.6“字体”对话框 121
3.7“颜色”对话框 123
3.8“打印”对话框 124
3.9“打印设置”对话框 127
3.10“查找”对话框 128
3.11“替换”对话框 130
第四章 133
实现系统控制功能 133
4.1定时器 133
4.2画板 134
4.3媒体播放器 135
4.4 OLE客户 144
4.4.1 创建OLE客户的一般步骤 145
4.4.2 TOleContainer元件的特性 147
4.4.3TOleContainei元件的方法 150
4.4.4 TOleContainer元件的事件 155
4.5.1开发DDE程序的一般步骤 156
4.5动态数据交换 156
4.5.2 TDDEClientConv元件 157
4.5.3TDDEClientItem元件 160
4.5.4 TDDEServerConv元件 161
4.5.5TDDEServerItem元件 162
4.6文件列表框 163
4.7目录列表框 166
4.8驱动器组合框 169
4.9文件类型过滤器 170
第五章 173
Win32公共控件 173
5.1TAB控件 173
5.2多页控件 177
5.2.1 Win31风格的多页控件 177
5.2.2 Win95/98风格的多页控件 178
5.2.4TTabSheet对象 181
5.2.5在两个多页控件之间拖放页 182
5.3图像列表 184
5.3.1怎样在设计期建立图像列表 184
5.3.2怎样在运行期动态建立图像列表 185
5.3.3TImageList的特性、方法和事件 185
5.3.4用TImageList元件实现屏幕捕捉器 191
5.4 RTF编辑器 191
5.4.1TRichEdit元件的特性和方法 192
5.4.2TTextAttributes对象 198
5.4.3怎样在运行期设置字符格式 198
5.4.4 TParaAttributes对象 199
5.4.5动态显示当前插入点所在的行和列 200
5.5跟踪条 201
5.6进程条 202
5.7加/减控件 205
5.8热键控件 207
5.9 AVI播放器 208
5.10日期和时间控件 211
5.11月历 214
5.12树状视图 216
5.12.1TTreeView元件的特性、方法和事件 216
5.12.2TTreeNode对象 225
5.12.3TTreeNodes对象 232
5.12.4树状视图与Master/Detail数据库 234
5.12.5用树状视图描述类的继承关系 235
5.13列表视图 236
5.14表头控件 250
5.15状态栏 253
5.15.1怎样用TPanel元件制作状态栏 254
5.15.2怎样用TStatusBar元件制作状态栏 254
5.15.3TStatusBar元件的特性、方法和事件 255
5.16工具栏 257
5.16.1用TPanel元件制作工具栏 258
5.16.2用TToolBar元件制作工具栏 258
5.16.3怎样在运行期操纵工具栏上的快捷按钮 259
5.16.4TToolBar元件特性、方法和事件 260
5.16.5TToolButton对象 262
5.17“酷” 263
5.17.2在运行期建立段 264
5.17.1在设计期建立段 264
5.17.3 TCoolBar元件的特性、方法和事件 265
5.17.4 TCoolBand对象 267
5.18TPageScroller 269
第六章 271
操纵Form和应用程序 271
6.1TScrollingWinControl 271
6.2TCustomForm 272
6.3TForm 285
6.4记忆Form关闭前的状态 286
6.5 MDI程序 287
6.5.1 MDI程序的“父”Form 288
6.5.2 MDI程序的“子”Form 288
6.5.3 自动创建“子”Form的实例 288
6.5.5合并菜单 289
6.5.4怎样在运行期生成“子”Form的实例 289
6.5.6排列打开的子窗口 290
6.6控制台程序 291
6.7操纵应用程序 293
6.7.1 TApplication的特性 294
6.7.2TApplication的方法 297
6.7.3怎样响应运行期元件的事件 302
6.7.4TApplication的事件 303
6.8应用程序的实例 307
6.9服务程序 308
第七章 313
操纵图像 313
7.1TCanvas 313
7.2TPen 323
7.3TBrush 327
7.4TPicture 329
7.5TBitmap 330
7.6TMetafile 336
7.7 TMetafileCanvas 337
7.8如何设计一个作图软件 338
第八章 345
操纵屏幕和打印机 345
8.1TScreen 345
8.2显示和打印的一致性 351
8.3 TPrinter对象 352
8.4 Writeln过程 356
8.5 DEVMODE结构 357
8.6打印机控制码 358
9.1TFont 361
注册表和剪贴板 361
第九章 361
操纵字体、字符串列表、 361
9.2 TStrings 364
9.3TStringList 370
9.4TRegistry 372
9.5TClipboard 378
第十章 383
多线程应用程序 383
10.1多线程概述 383
10.2创建线程对象 384
10.3设置线程的优先级 385
10.4定义线程函数 386
10.4.1 访问VCL 386
10.4.2线程局部变量 387
10.4.3检查Terminated特性 388
10.5锁定和阻塞 388
10.6依赖另一个线程的执行结果 389
10.7挂起和唤醒 391
10.8一个典型的多线程应用程序 392
第十一章 399
Open Tools API 399
11.1 怎样创建专家(Expert) 399
11.2怎样注册专家 403
11.3 IDE的服务接口 404
11.4标准型专家的示例 405
11.5加载型专家的示例 410
12.1.1公共祖先类 413
12.1选择祖先类 413
第十二章 413
编写自己的元件 413
12.1.2现有的元件 414
12.1.3元件模板 414
12.1.4我们的建议 414
12.2建立元件框架 415
12.3手工建立元件框架 416
12.4加入特性 417
12.4.1加入简单型的特性 417
12.4.2加入枚举型的特性 418
12.4.3加入集合型的特性 419
12.4.4加入对象型特性 420
12.4.5加入数组型特性 422
12.4.6给出特性的默认值 423
12.5.3给方法命名 424
12.5.4加入标准的方法 424
12.5加入方法 424
12.5.2避免内部相关性 424
12.5.1 方法的可见性 424
12.5.5加入虚拟方法 425
12.5.6加入动态方法 425
12.5.7加入抽象方法 426
12.6加入事件 426
12.7编写特性编辑器 429
12.7.1选择合适的祖先 429
12.7.2重载某些方法 430
12.7.3注册特性编辑器 433
12.8如何编写元件编辑器 434
12.9把元件加到IDE中 437