《Windows 95特色编程》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:李真文编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:1997
  • ISBN:7810126830
  • 页数:512 页
图书介绍:

第一部分WindoWs95与VisualC++4. 1

目录 1

第1章Windows95特色总览 2

1.1引言 2

1.2用户界面 2

1.2.1工作台 3

1.2.2任务条 3

1.2.5回收站 4

1.2.6Windows资源管理器 4

1.2.4网上邻居 4

1.2.3我的电脑 4

1.2.7快捷键 5

1.2.8属性表 6

1.3体系结构 6

1.3.1抢占式多任务操作系统 6

1.3.2VxD 7

1.3.332位文件系统体系结构 8

1.3.4内存管理 8

1.4即插即用 9

1.5.1注册表 11

1.5系统管理 11

1.5.2用户管理 12

1.5.3系统管理 12

1.5.4网络管理 13

1.6稳健性 13

1.6.1局部重新引导 13

1.6.2进程结束时VxD的线程清除机制 14

1.7设备支持 15

1.6.3每个线程状态的跟踪 15

1.6.4虚拟设备驱动程序参数的有效性检查 15

1.8打印 16

1.8.132位打印子系统 17

1.8.2对MS-DOS应用程序打印支持的改进 17

1.8.3支持延迟打印 17

1.8.4支持图像颜色匹配 18

1.8.5安装和配置打印机 18

1.9联网 21

1.11MicrosoftExchange 22

1.10通信 22

1.11.1Windows信报子系统:MAPI1.0 23

1.11.2MicrosoftExchange 24

1.11.3从桌面计算机发送和接收传真 25

1.12MicrosoftNetwork 26

1.13移动式计算 26

1.14多媒体 27

1.15国际化支持 28

1.16小结 29

2.2安装MicrosoftVisualC++4.0 30

2.2.1设置在线书籍在硬盘上的路径 30

第2章MicrosoftVisualC++4.0使用琐记 30

2.1引言 30

2.2.2设置例程在硬盘上的路径 31

2.3AppWizard 32

2.3.1使用AppWizard创建应用程序 33

2.3.2AppWizard的中文支持 33

2.4ControlWizard 34

2.5.2一切都是“树” 35

2.5.1低版本的工程文件转换 35

2.5工程工作空间 35

2.6ClassView 36

2.7ResourceView 37

2.7.1资源及资源编辑器 38

2.7.2在资源编辑器中激活ClassWizard 42

2.8FileView 43

2.9InfoView 44

2.9.2索引 45

2.9.3全文搜索 45

2.9.1F1键 45

2.9.4例程 46

2.10ClassWizard 46

2.10.1ClassWizard属性表 47

2.10.2使用ClassWizard增加函数 48

2.10.3使用ClassWizard增加变量 48

2.10.4使用ClassWizard增加代码 49

2.11WizardBar 49

2.12组件廊 50

2.12.1在工程中插入组件 50

2.12.3与他人共享组件 52

2.12.2创建自己的组件 52

2.13使用调试器 53

2.13.1使用多个调试窗口 53

2.13.2使用Just-in-Time调试 54

2.13.3控制和管理断点 54

2.13.4调试DLLs 55

2.13.5调试OLE应用程序 55

2.14.1构造应用程序的发行版本 56

2.14发行应用程序 56

2.13.6调试远程程序 56

2.14.2再发行DLL文件 57

2.15小结 58

第3章MFC4.0:Windows的C++应用程序框架 59

3.1引言 59

3.2MFC综述 59

3.2.1发展历史 59

3.2.2MFC4.0 60

3.3.1多平台 61

3.3MFC的移植性 61

3.2.3客户反馈驱动的改进 61

3.2.4MFC转换工具 61

3.3.2申请MFC许可 62

3.3.3工业标准的演化 62

3.4MFC4.0的新特征 63

3.4.1Windows公共控件类 63

3.4.2完全的OLE控件支持 63

3.4.3用DAO进行直接数据库访问 63

3.4.4新的公共对话框 63

3.5MFC3.0引入的特征 64

3.5.1增强的工具条 64

3.4.6简单MAPI支持 64

3.4.7WinSock支持 64

3.4.5线程同步对象 64

3.5.2小型边框窗口 66

3.5.3属性表 66

3.5.4Windows95用户接口 67

3.5.5Win32支持 67

3.5.6多线程 68

3.5.7Unicode支持 68

3.6.1C++模板 69

3.5.8共享32位DLLs 69

3.6C++语言语法支持 69

3.6.2C++异常 70

3.7数据库类 71

3.7.1数据库引擎类 71

3.7.2记录视 71

3.8OLE类 72

3.9MFC框架类 72

3.9.1命令 72

3.9.3打印和打印预览 73

3.9.2文档和视窗 73

3.9.4对话框数据交换和有效化 74

3.9.5上下文敏感帮助 74

3.10高级抽象 74

3.10.1报表视窗 75

3.10.2编辑视窗 75

3.10.3滚动视窗 75

3.10.4切分窗口 75

3.10.5控制条 75

3.12.1标准应用程序支持 76

3.12WindowsAPI类 76

3.12.2边框窗口 76

3.11兼容性 76

3.11.2VBX1.0(16位) 76

3.11.1OLE1.0支持 76

3.12.3图形/GDI 77

3.12.4对话框 77

3.12.5控件 77

3.13通用目的类 77

3.13.1运行时间类型信息 77

3.13.2对象永久性 78

3.13.3集类 78

3.13.4字符串 78

3.13.5文件 78

3.13.6时间和日期 78

3.14调试和诊断支持 78

3.15小结 79

4.2.1动画控件 83

4.1引言 83

4.2初识公共控件 83

第4章新用户界面的核心:公共控件 83

第二部分公共控件 83

4.2.2拖放列表框 84

4.2.3头控件 84

4.2.4热键控件 84

4.2.5图像列表 85

4.2.6列视控件 85

4.2.7进度指示器 85

4.2.8属性表 87

4.2.9多信息编辑控件 89

4.2.10状态条 89

4.2.11标签控件 90

4.2.12工具条 90

4.2.13工具提示 90

4.2.14游标 91

4.2.15树视控件 91

4.2.16滚动控件 91

4.3.1窗口类 93

4.3.2公共控件风格 93

4.3SDK支持 93

4.3.3通知消息 94

4.4MFC支持 95

4.5文档/视模型支持 95

4.6对话框资源编辑器支持 96

4.7小结 96

第5章工具条、状态条和工具提示 97

5.1引言 97

5.2概念释疑 97

5.3使用工具条编辑器 98

5.3.1创建新工具条资源 99

5.3.2把位图转换成工具条 99

5.3.3创建、移动和编辑工具条按钮 100

5.4编写ToolStatusTip例程 100

5.4.1实现目标 101

5.4.2实现细节 101

5.5程序演示 102

5.6代码分析 104

5.6.1使用CToolBar和CStatusBar 104

5.6.2在CMainFrame中实现工具条、工具提示和状态条 104

5.6.3组件廊产生当前日期和时间的状态条信息 105

5.7信息唾手可得 108

5.8小结 111

第6章动画控件、进度指示器、滚动控件和游标控件 112

6.1引言 112

6.2动画控件和进度指示器 112

6.2.1概念释疑 112

6.2.2编程考虑 112

6.2.4创建基于对话框的起始应用程序AnimateProgress 113

6.2.5编辑对话框资源 113

6.2.3实现目标 113

6.2.6添加代码 114

6.2.7程序演示 116

6.2.8信息唾手可得 116

6.3滚动控件和游标控件 118

6.3.1概念释疑 118

6.3.2编程考虑 119

6.3.3实现目标 119

6.3.4创建基于对话框的起始应用程序SliderSpin 119

6.3.5编辑对话框资源 119

6.3.6添加代码 120

6.3.8信息唾手可得 124

6.3.7程序演示 124

6.4小结 126

第7章快捷菜单、标签和属性表 127

7.1引言 127

7.2概念释疑 127

7.3编程考虑 128

7.4创建SDI起始应用程序ContextMenuTabProperty 129

7.5用组件廊增加Pop-upMenu组件 130

7.6.1添加PropertySheet组件 131

7.6用组件廊增加PropertySheet组件 131

7.6.2编辑属性页资源 134

7.6.3添加属性页类代码 134

7.6.4添加属性表类代码 140

7.6.5添加预览窗口类代码 141

7.6.6添加视类代码 141

7.7程序演示 143

7.8小结 144

8.3编程考虑 145

8.2什么是向导 145

8.1引言 145

第8章向导 145

8.4创建SDI起始应用程序Wizard 146

8.5用组件廊增加PropertySheet组件 147

8.5.1添加PropertySheet组件 147

8.5.2编辑属性页资源 148

8.6在属性页类中添加代码 150

8.6.1添加属性页控件变量 150

8.6.3使“适应性”属性页的“下一步”按钮不能 151

8.6.2使“您是…”属性页的“上一步”按钮不能 151

8.7修改属性表类代码 152

8.8在视类中添加代码 152

8.8.1添加编辑控件 152

8.8.2输出述职报告 153

8.9程序演示 158

8.10信息唾手可得 159

8.11小结 160

9.2.1概念释疑 161

9.2多信息编辑控件 161

第9章多信息编辑控件:兼谈长文件名、MAPI和注册表 161

9.1引言 161

9.2.2VisualC++4.0对多信息编辑控件的支持 163

9.3长文件名 163

9.3.1文件系统 163

9.3.2VisualC++4.0对长文件名的支持 165

9.3.3应用程序支持长文件名 165

9.4.1MAPI的概念和体系结构 167

9.4.2MAPI特征 167

9.4MAPI 167

9.4.3MAPI体系结构 168

9.4.4MAPI客户应用程序 168

9.4.5MAPI子系统 169

9.4.6MAPI缓冲池 169

9.4.7服务提供者 170

9.4.8VisualC++4.0对MAPI的支持 170

9.5注册表 171

9.5.1注册表简介 171

9.5.2注册数据库的结构 171

9.5.3预定义键 172

9.5.4更新注册表 173

9.5.5VisualC++4.0对注册表的支持 174

9.6编程考虑 174

9.7编写RichEditMail例程 174

9.7.1用AppWizard创建起始程序 174

9.7.2重用Wizard例程的代码 175

9.7.3RichEditMail对注册表的支持 175

9.7.4在程序中增加字符和段落格式化功能 176

9.7.5格式化述职报告 176

9.8程序演示 180

9.9信息唾手可得 181

9.10小结 187

第10章列视控件 188

10.1引言 188

10.2预备知识 188

10.2.1列视控件 188

10.2.2图像列表 189

10.2.3VisualC++4.0支持 189

10.3编程考虑 190

10.4.2制作列表项图标资源 191

10.4.1用AppWizard创建起始程序 191

10.4编写List例程 191

10.4.3初始化列视列表项 193

10.4.4获取列视控件项 196

10.4.5用四种视窗显示列表项 197

10.4.6响应列点击通知消息 200

10.5程序演示 201

10.6信息唾手可得 204

10.6.1结构体参考 204

10.6.2通知消息参考 207

10.6.3CListCtrl成员参考 208

10.6.4CImageList成员参考 210

10.7小结 211

第11章树视控件 212

11.1引言 212

11.2概念释疑 212

11.3编程考虑 212

11.4编写Tree例程 213

11.4.1用AppWizard创建起始程序 213

11.4.2制作列表项字符串和图标资源 214

11.4.3初始化树视列表项 215

11.4.4实现拖放编辑 219

11.4.5实现父项在打开和关闭时显示不同的图标的 222

11.5程序演示 223

11.6信息唾手可得 223

11.6.1结构体参考 224

11.6.2通知消息参考 226

11.6.3常数参考 227

11.6.4CTreeCtrl成员参考 228

11.7小结 230

12.1引言 232

12.2OLE产生的历史背景 232

第三部分OLE2.0 232

第12章OLE:一种集成技术 232

12.3OLE是一种集成技术 233

12.4OLE基石:COM 234

12.5结构化存储 235

12.6别名(Moniker) 238

12.7统一数据传输和OLE拖放 239

12.7.1数据格式和传输媒体 240

12.7.2剪贴板和拖放 241

12.8OLE文档 243

12.7.3OLE拖放和数据传输类 243

12.8.1嵌入与链接 244

12.8.2到嵌入的链接 245

12.8.3在位激活/可视编辑 245

12.9OLE自动化 246

12.10OLE控件 248

12.11小结 249

13.2准备知识 250

13.2.1COM 250

13.1引言 250

第13章编写COM组件对象/客户程序 250

13.2.2二进制标准 251

13.2.3组件对象 252

13.2.4接口 252

13.2.5全球唯一标识(GUID) 255

13.2.6IUnkown 255

13.2.7组件对象库 256

13.4.1用C++实现IDrawing 257

13.3编程考虑 257

13.4构造接口IDrawing 257

13.4.2用组件廊组件GUIDGenerator产生GUID 258

13.5构造COM组件程序SERVER.DLL 259

13.5.1构造工程 259

13.5.2增加对象和接口GUIDs 260

13.5.3创建组件对象类 260

13.5.4创建组件对象ID文件 260

13.5.6增加类的接口定义 261

13.5.5创建对象REG文件 261

13.5.7实现组件对象代码 262

13.6构造组件客户程序CLIENT.EXE 264

13.6.1创建起始应用程序 264

13.6.2构造C++类CDrawRect 264

13.6.3实现C++类CDrawRect 265

13.6.4绘制C++对象和COM组件 265

13.7小结 268

14.2.2链接对象 269

14.2.1在注册表中登记 269

14.2HIERSVR程序演示 269

14.1引言 269

第14章OLE文档:分析服务器程序HIERSVR 269

14.2.3嵌入对象 271

14.2.4剪贴板和拖放操作 273

14.3在应用程序类中初始化OLE服务器 273

14.4文档类提供的OLE服务器支持 275

14.4.1登记剪贴板格式 275

14.4.2创建或编辑嵌入对象 275

14.4.4在位编辑 276

14.4.3查找链接项 276

14.5实现服务器对象 277

14.5.1绘制OLE对象 277

14.5.2获取OLE对象大小 279

14.5.3谓词处理 279

14.5.4获取剪贴板对象 280

14.5.5显示文件数据 281

14.6在视类中实现OLE在位编辑 281

14.6.1设置绘图模式为MMANISOTROPIC 281

14.7.1拷贝 282

14.7在视类中实现剪贴板操作 282

14.6.2实现CServerView::OnDraw 282

14.7.2剪切 283

14.7.3清除 283

14.7.4粘贴 284

14.8在视类中实现拖放操作 285

14.8.1登记放目标对象 285

14.8.2处理鼠标左键按下消息 285

14.8.3实现CServerView::OnDragEnter 286

14.8.4实现CServerView::OnDragOver 287

14.8.6实现CServerView::OnDrop 288

14.8.5实现CServerView::OnDragLeave 288

14.9小结 289

第15章OLE文档:分析包容器程序OCLIENT 290

15.1引言 290

15.2演示OCLIENT 290

15.2.1支持链接和嵌入对象的在位编辑 290

15.2.2支持OLE公共对话框 290

15.2.3支持剪贴板和拖放操作 290

15.3OLE公共对话框 291

15.3.3“更改图标”对话框 292

15.3.1“插入对象”对话框 292

15.3.2“选择性粘贴”对话框 292

15.3.4“转换”对话框 293

15.3.5“编辑链接”或“更新链接”对话框 294

15.3.6“服务器占线”或“服务器没有响应”对话框 295

15.3.7“属性”对话框 295

15.4在应用程序类中初始化OLE包容器 295

15.5文档类提供的OLE包容器支持 297

15.5.1登记剪贴板格式 297

15.6.1客户对象状态 298

15.5.2重载CMainDoc::OnShowViews 298

15.6实现客户对象 298

15.6.2实现CRectItem::OnGetItemPosition 300

15.6.3实现CRectItem::OnChangeItemPosition 300

15.7在视类中实现矩形跟踪器 301

15.7.1矩形跟踪器(RectangleTracker) 301

15.7.2实现矩形跟踪器 301

15.8实现视类 304

15.8.1绘制OLE对象 304

15.8.2实现CMainView::OnInsertObject 306

15.8.4实现CMainView::OnSize 307

15.8.3实现CMainView::OnSetFocus 307

15.9在位编辑 308

15.10剪贴板和拖放操作 308

15.10.1有关粘贴的核心实现CMainView::DoPasteItem 309

15.10.2粘贴链接 313

15.10.3选择性粘贴 313

15.10.4拖放操作中自动滚动滚动条 315

15.11显示OIE对象的属性 316

15.12显示OLE客户对象 317

15.11.1获取快捷菜单 317

15.11.2显示属性对话框 317

15.13小结 319

第16章OLE自动化:用VC创建自动化对象 320

16.1引言 320

16.2自动化服务器/客户 320

16.3VisualC++4.0对OLE自动化服务器支持 321

16.3.1MFC框架支持 321

16.3.2ClassWizard支持 321

16.4.1创建OLE自动化服务器框架程序 322

16.3.3AppWizard支持 322

16.4在应用程序中使能OLE自动化 322

16.4.2分析派遣接口名 323

16.5分析AppWizard提供的代码 324

16.5.1自动化服务器的应用程序类 324

16.5.2自动化服务器的文档类 325

16.5.3创建OLE类型库 326

16.6实现DrawCircle的基本行为 327

16.7.1实现派遣接口的属性 328

16.7实现自动化属性和方法 328

16.7.2实现派遣接口的方法 330

16.7.3ClassWizard产生的对象定义库 332

16.8程序演示 333

16.9小结 334

第17章OLE自动化:用VC和VB访问自动化对象 335

17.1引言 335

17.2OLE自动化客户 335

17.3使用类型库 336

17.3.1ODL文件语法 336

17.3.2MkTyPLib:创建类型库工具 337

17.3.3ClassWizard对类型库的支持 338

17.4用VC编写自动化客户程序SetCircle 338

17.4.1创建框架程序 338

17.4.2从SliderSpin例程中获取可重用资源和代码 339

17.4.3创建.TLB文件重建派遣类 342

17.4.4引用和访问派遣类CDrawCircle 345

17.4.5程序演示 346

17.5.1构造SetCircle 347

17.5用VB编写自动化客户程序SetCircle 347

17.5.2实现SetCircle 348

17.5.3程序演示 350

17.6小结 350

第18章OLE控件:用VC创建控件 351

18.1引言 351

18.2OLE控件综述 351

18.2.1OLE控件的基本组成部分 352

18.2.2控件与控件包容器之间的交互 352

18.3.1事件 353

18.3名词释疑 353

18.2.4序列化 353

18.2.3OLE控件的激活和非激活状态 353

18.3.2方法 355

18.3.3属性 356

18.3.4序列化 357

18.3.5属性页 358

18.3.6许可 359

18.4OLEControlWizard支持 359

18.4.1工程选项 360

18.4.2控件选项 361

18.5编程考虑 362

18.5.1使用ControlWizard 362

18.5.2使用ClassWizard 363

18.5.3绘制Equation控件 366

18.5.4序列化Equation控件 369

18.5.5实现Equation属性页 369

18.5.6许可Equation控件 371

18.5.7测试Equation控件 373

18.6小结 377

19.3.1用AppWizard创建Solute框架 378

193用VC编写Solute 378

第19章OLE控件:用VC和VB访问控件 378

19.2OLE控件包容器 378

19.1引言 378

19.3.2插入控件 379

19.3.3组件廊和ClassWizard对工程的改变 382

19.3.4程序演示 388

19.4用VB编写Solute 388

19.4.1构造Solute 389

19.4.2实现Solute 390

19.4.3程序演示 391

19.5小结 392

第四部分在线帮助 394

第20章Windows95在线帮助综述 394

20.1引言 394

20.2帮助主题浏览器 394

20.2.1目录页 394

20.2.2索引 396

20.3.1过程主题 397

20.3标准帮助 397

20.3.2“这是什么?”主题 398

20.3.3定义性主题 400

20.3.4疑难解答主题 400

20.4性能支持帮助 400

20.5有关文件 402

20.5.1RTF脚本文件 402

20.5.2HPJ工程文件 404

20.5.3目录CNT文件 404

20.5.4配置GID文件 405

20.6RTF脚本语言 406

20.6.1脚注 406

20.6.2命令 407

20.6.3宏 409

20.7小结 412

第21章在线帮助基本应用:实现Windows95小程序帮助 413

21.1引言 413

21.2Windows95小程序在线帮助实现要点 413

21.3实现考虑 413

21.4.1用AppWizard起始应用程序 414

21.4制作基本帮助 414

21.4.2删除AppWizard生成的有关帮助文件 415

21.4.3用MicrosoftWord创建和编辑主题文件 418

21.4.4用HelpWorkshop创建和编辑目录文件 421

21.4.5用HelpWorkshop创建和编辑工程文件 423

21.5实现“这是什么?”主题调用 427

21.6程序演示 431

21.6.1帮助文件 431

21.6.2“这是什么?”主题 432

21.7小结 433

第22章在线帮助高级应用:实现图形、多媒体帮助和日积月累提示 434

22.1引言 434

22.2创建帮助图形 434

22.2.1帮助图形总览 434

22.2.2自适应显示位图 435

22.2.3放置位图 435

22.2.4创建热点图形 438

22.3创建多媒体帮助 441

22.3.1多媒体总览 442

22.3.2播放视频文件 443

22.3.3播放声波文件 443

22.4创建“日积月累”提示 445

22.4.1组件廊对“日积月累”的支持 445

22.4.2创建工程文件 446

22.4.3插入“日积月累”提示 446

22.4.4编写Tips.txt文件 447

22.4.5增加“日积月累”到“帮助”菜单 448

22.4.6“日积月累”对话框类申明 449

22.4.7提示显示顺序 451

22.4.8出错条件 453

22.4.9绘制提示标识和文本 455

22.4.10程序演示 456

22.5小结 456

第五部分安装向导 460

第23章Windows95应用程序的安装程序设计原则 460

23.1引言 460

23.2安装程序 460

23.3设计安装程序 460

23.5拷贝文件 461

23.4确定配置 461

23.6使用WININIT.INI文件替换DLLs 462

23.7设置环境 463

23.7.1设置初始化文件 463

23.7.2给注册表增加项目 463

23.7.3支持快捷菜单操作 464

23.8增加应用程序到“开始”按钮 465

23.9使用文件扩展名 465

23.10登记文档类型 467

23.11网络问题 467

23.12CD-ROM考虑 468

23.13安装字体 469

23.14删除应用程序 470

23.15小结 471

第24章使用InstallShieldSE制作安装向导 472

24.1引言 472

24.2InstallShieldSE总览 472

24.2.1InstallShield3 472

24.2.2InstallShield3International 473

24.3安装程序的组成部分 473

24.4.1术语定义 475

24.4InstallScript脚本语言 475

24.4.2安装程序脚本的主要组成部分 476

24.4.3系统变量 477

24.4.4操作符 478

24.5命令行程序 479

24.5.1COMPILE.EXE 479

24.5.2ICOMP.EXE 480

24.5.3SPLIT.EXE 481

24.5.4PACKLIST.EXE 482

24.6.1更正Template安装错误 483

24.6制作应用程序安装向导 483

24.6.2准备待发行的文件 484

24.6.3压缩和分裂待发行文件 485

24.6.4编写安装脚本Setup.rul 485

24.6.5编译安装脚本Setup.rul 496

24.6.6编写和编译包裹列表Setup.lst 496

24.7安装向导演示 497

24.8信息唾手可得 502

24.9小结 508

参考文献 511