本书主要介绍Windows 98编程技术。本书共分成五个部分,分别介绍了基本原理、程序结构、MFC编程高级话题、数据库编程、扩展应用程序、ActiveX编程、Internet编程、使用Visual Studio工具等内容。书中丰富的例子以及翔实的操作步骤对读者的学习及知识掌握提供了很大的灵活性。本书结构清晰、内容新颖、由浅入深,可作为编写Windows 98应用程序的参考手册和开发工具。
第一部分 基础\r\n\r\n第一章 入门\r\n\r\n1.1 Windows 98中有什么新特性\r\n1.2 对用户而言这意味着什么\r\n1.3 对开发人员而言意味着什么\r\n1.4 Vusual Studio6有何新特性\r\n1.5 Visual C++ Hello Wordl程序\r\n1.6 Visual C++ Win32控制参应用程序\r\n1.7 HelloWorld3 ATL控件\r\n1.8 HelloWorld4 Java小应用程序\r\n1.9 HelloWorld5 Java应用程序\r\n1.10 HelloWorld6 Visucl Basic应用程序\r\n1.11 小结\r\n\r\n第二章 菜单\r\n\r\n2.1 改变缺省菜单资源\r\n2.1.1 编辑菜单资源\r\n2.1.2 创建菜单\r\n2.1.3 创建菜单处理程序\r\n2.2 MFC中的菜单的消息\r\n2.3 菜单命令范围\r\n2.4 处理菜单输入\r\n2.5 键盘加速器\r\n2.5.1 关于键盘输入\r\n2.5.2 定义加速键\r\n2.5.3 选择适当的键盘加速器\r\n2.5.4 多个加速器表\r\n2.6 在程序执行中动态改变菜单\r\n2.6.1 获得当前的CMenu对象\r\n2.6.2 改变已存在的弹出式菜单\r\n2.6.3 MFC的永久和临时处理程序映射\r\n2.7 上下文菜单\r\n2.8 创建一下文菜单以改变窗口\r\n2.9 小结\r\n\r\n第三章 鼠标与键盘\r\n\r\n3.1 输入基础和系统状态\r\n3.2 鼠标输入\r\n3.3 创建鼠标消息处理程序\r\n3.4 屏幕与窗口间的坐标变换\r\n3.5 创建一个可处理鼠标事件的MFC程序\r\n3.6 非客户鼠标光标\r\n3.7 改变鼠标光标\r\n3.8 创建一个用于改变鼠标光标的MFC演示程序\r\n3.9 捕捉鼠标\r\n3.10 限制鼠标的移动\r\n3.11 键盘输入\r\n3.11.1 键盘输入的转化\r\n3.11.2 回显键盘焦点\r\n3.12 键盘演示程序\r\n3.13 小结\r\n\r\n第四章 图形\r\n\r\n4.1 介绍图形设备接口\r\n4.2 图形的类型\r\n4.2.1 文本作为图形\r\n4.2.2 光栅图形\r\n4.2.3 矢量图形\r\n4.3 GDI设备\r\n4.3.1 物理设备\r\n4.3.2 伪设备\r\n4.4 设备描述表\r\n4.4.1 DC绘科属性\r\n4.4.2 一个简单的OnDraw( )函数\r\n4.5 WM_PAINT消息\r\n4.5.1 绘图坐标\r\n4.5.2 需要PAINT消息\r\n4.5.3 PAINT消息以外的绘图\r\n4.6 控制文本的外观\r\n4.6.1 基本的文本属性\r\n4.6.2 有关字体的知识\r\n4.7 画笔和刷子\r\n4.7.1 CPen类\r\n4.7.2 CBrush类\r\n4.7.3 Pen'BrushDemo程序\r\n4.8 映射方式\r\n4.9 光栅操作\r\n4.10 在窗口中绘图\r\n4.10.1 GraphicsDemol程序\r\n4.10.2 文本绘制函数\r\n4.10.3 文本坐标计算\r\n4.11 剪辑区域\r\n4.12 小结\r\n\r\n第五章 位图、调色板、DIB和双重缓冲\r\n\r\n5.1 创建CBitmap对象\r\n5.2 半截和设置位图内容\r\n5.3 向屏幕绘制CBitmaps\r\n5.4 光栅操作\r\n5.5 BlitDemo\r\n5.6 调色板和颜色\r\n5.6.1 逻辑调色板\r\n5.6.2 调色板事件\r\n5.6.3 SetSystetmPaletteUse()函数\r\n5.7 与设备封锁关的位图\r\n5.7.1 DIB文件解析\r\n5.7.2 CDib类\r\n5.7.3 SHowDIB演示程序\r\n5.8 双重缓冲\r\n5.9 小结\r\n\r\n第六章 MFC异常的处理\r\n\r\n6.1 C++的异常处理与SEH的比较\r\n6.2 异常处理的语法\r\n6.2.1 抛出异常处理\r\n6.2.2 接收异常\r\n6.3 异常处理与返回代码的比较\r\n6.3.1 处理错误条件\r\n6.3.2 在正确的环境中处理错误\r\n6.3.3 改善代码的可读性\r\n6.3.4 从构造函数中抛出异常\r\n6.4 CException类\r\n6.4.1 创建与删除CException对象\r\n6.4.2 从CException对象中检索错误信息\r\n6.4.3 接收多种异常类型\r\n6.5 定义CException的派生类\r\n6.5.1 了解CFileCException类\r\n6.5.2 定义读者自己的CException派生类\r\n6.6 高级的异常处理技巧\r\n6.6.1 确定哪一个函数应接收异常\r\n6.6.2 确定何种代码应补放置在try块中\r\n6.6.3 确定何种代码应被放置在catch块中\r\n6.6.4 从虚函数中抛出异常\r\n6.7 小结\r\n\r\n第七章 对话框和控件\r\n\r\n7.1 对话框和控件——一个简短的描述\r\n7.2 使用资源编辑器\r\n7.2.1 创建一个基于对话框的应用程序\r\n7.2.2 使用资源编辑器\r\n7.3 使用CDialog和MFC控件类编辑\r\n7.3.1 CDialog类——简述\r\n7.3.2 MFC控件类\r\n7.3.3 对话框数据交换(DDX)\r\n7.3.4 消息处理\r\n7.3.5 综合\r\n7.4 序列化对话框数据\r\n7.4.1 为CProject类加入序列化\r\n7.4.2 更新对话框来序列化CProject对象\r\n7.5 使用模态对话框\r\n7.5.1 生成Add Keyword对话框模板和类\r\n7.5.2 调用对话框\r\n7.6 非模戊对话框——Find对话框\r\n7.6.1 生成非模态对话框\r\n7.6.2 调用非模态对话框\r\n7.6.3 模态和非模戊对话框间的通信\r\n7.7 小结\r\n\r\n第八章 属民生表和属性页\r\n\r\n8.1 理解CPropertySheet和CPropertyPage\r\n8.1.1 使用资源编辑器来创建属性页\r\n8.1.2 创建CPropertyPage\r\n8.1.3 创建并显示模态CPropertySheet\r\n8.1.4 创建并显示非模态CPropertySheet\r\n8.1.5 在现有的对话框中创建和显示属性表\r\n8.2 模态属性表演示程序\r\n8.2.1 创建演示应用程序\r\n8.2.2 移走标准按钮\r\n8.2.3 重定位标准按钮\r\n8.2.4 修改标准按钮的标题\r\n8.2.5 禁用选项卡\r\n8.2.6 重新激活选项卡\r\n8.2.7 动态设置CPropertyPage选项卡的标题\r\n8.2.8 修改选项卡字体\r\n8.2.9 使用CpropertyPage选项卡的标题\r\n8.3 小结\r\n\r\n第九章 数据的输入/输出\r\n\r\n9.1 CString类\r\n9.2 文件输入/输出和CFile类\r\n9.2.1 使用Open()成员函数据打开文件\r\n9.2.2 FileDemo程序\r\n9.3 CMemFile类\r\n9.4 CStdioFile类\r\n9.5 串行通信的CSerial类\r\n9.5.1 串行通信概述\r\n9.5.2 CSerial 类\r\n9.6 Registry\r\n9.6.1 Registry值\r\n9.6.2 预定义Registry键\r\n9.6.3 使用Registry键\r\n9.6.4 HKEY_CLASSES_ROOT下的子树\r\n9.6.5 HKEY_USERS下的子树\r\n9.6.6 HKEY_CURRENT_USER下的子树\r\n9.6.7 CRegistry类\r\n9.7 小结\r\n\r\n第十章 声音\r\n\r\n10.1 播放录制的声音\r\n10.1.1 CWave类概述\r\n10.1.2 使用Windows API播放.WAV文件\r\n10.1.3 CWave类函数\r\n10.2 WaveDemo程序\r\n10.3 播放MIDI文件\r\n10.3.1 什么是MIDI\r\n10.3.2 CMidi类概述\r\n10.4 MIDIDemo程序\r\n10.5 CD音频\r\n10.5.1 CCDAudio类库概述\r\n10.6 CDPLayer程序\r\n10.7 小结\r\n\r\n第十一章 计时器和空闲处理\r\n\r\n11.1 计时器\r\n11.1.1 使用WM_TIMER设置计时器\r\n11.1.2 设置带回调过程的计时器\r\n11.2 Clock程序\r\n11.3 CWinApp的OnIdle能力\r\n11.4 OnIdleDemo程序\r\n11.5 小结\r\n\r\n第二部分 应用和程序结构\r\n\r\n第十二章 文档、视图和SDI\r\n\r\n12.1 实现文档/视图结构\r\n12.1.1 第1步:创建应用程序的骨架\r\n12.1.2 第2步:声明文档的数据对象\r\n12.1.3 第3步:完成OnNewDocument()函数\r\n12.1.4 第4步:覆盖DeleteContets()函数\r\n12.1.5 第5步:完成Serialize()函数\r\n12.1.6 第6步:完成OnDraw()函数\r\n12.1.7 第7步:加入编辑代码\r\n12.2 永久性对象\r\n12.3 保存永久性和非永久性对象\r\n12.4 小结\r\n\r\n第十三章 切分窗口\r\n\r\n13.1 切分窗口介绍\r\n13.2 MFC的CSplitterWnd类\r\n13.3 DynSplitter应用程序\r\n13.3.1 分析动态切分窗口\r\n13.3.2 动态切分和AppWizard\r\n13.4 StatSplitter应用程序\r\n13.4.1 分析表态切分窗口\r\n13.4.2 表态切分和AppWizard\r\n13.5 切分窗口和MDI\r\n13.6 MDISplittr应用程序\r\n13.6.1 分析MDI动态切分窗口\r\n13.6.2 MDI动态切分和AppWizard\r\n13.7 切分窗口和不同的视\r\n13.8 MultViewSplitter应用程序\r\n13.8.1 分析多视图切分窗口\r\n13.8.2 多视图切分和AppWizard\r\n13.9 小结\r\n\r\n第十四章 MDI\r\n\r\n14.1 介绍MDI应用程序\r\n14.2 MDIdemo应用程序\r\n14.3 子框架窗口\r\n14.4 创建MDI应用程序\r\n14.5 分析MDI应用程序\r\n14.6 小结\r\n\r\n第十五章 打印和打印预览\r\n\r\n15.1 在Windows 中打印概述\r\n15.2 在MFC应用程序中打印文本\r\n15.2.1 TextPrint样例应用程序\r\n15.2.2 MFC的打印成员函数\r\n15.3 在MFC应用程序中打印图形\r\n15.3.1 RectPrint样例应用程序\r\n15.3.2 在屏幕显示和打印之间调整比例\r\n15.3.3 OnCreate()函数\r\n15.3.4 OnDraw()函数\r\n15.3.5 OnPreparePrinting()函数\r\n15.4 小结\r\n\r\n第三部分 MFC编程中的高级对话\r\n\r\n第十六章 扩展MFC类\r\n\r\n16.1 UI控件\r\n16.1.1 CAutoCompleteComboBox\r\n16.1.2 CGreyEdit\r\n16.1.3 CUnderlineEdit\r\n16.2 视图和对话框\r\n16.2.1 CFormBackground\r\n16.2.2 ClistBoxView\r\n16.3 小结\r\n\r\n第十七章 工具栏和状态栏\r\n\r\n17.1 理解工具栏\r\n17.1.1 检查MFC控件栏\r\n17.1.2 创建工具栏\r\n17.1.3 显示和隐藏工具栏\r\n17.2 理解状态栏\r\n17.2.1 创建状态栏\r\n17.2.2 显示工具栏帮助\r\n17.2.3 扩充状态栏\r\n17.2.4 状态栏演示例程序\r\n17.3 小结\r\n\r\n第十八章 线程\r\n\r\n18.1 区分线程\r\n18.1.1 创建工作线程\r\n18.1.2 线程函数\r\n18.1.3 创建用户界面线程\r\n18.2 挂起与继续执行\r\n18.3 使线程休眠\r\n18.4 终止线程\r\n18.5 从另一个线程终止线程\r\n18.6 探讨线程高度\r\n18.7 检查进程优先级类\r\n18.8 在线程中共享MFC对象\r\n18.9 在多线程应用程序中使用C运行函数\r\n18.10 小结\r\n\r\n第四部分 数据库编程\r\n\r\n第十九章 ODBC\r\n\r\n19.1 关键概念\r\n19.1.1 DBMS\r\n19.1.2 SQL\r\n19.1.3 数据源\r\n19.2 ODBC——标准的需要\r\n19.2.1 ODBC标准\r\n19.2.2 ODBC的一致层(驱动程序功能)\r\n19.2.3 ODBC的一至层(SQL语法)\r\n19.3 ODBC——实现\r\n19.3.1 配置ODBC\r\n19.3.2 连接数据源\r\n19.3.3 查询数据和数据源\r\n19.3.4 准备和执行SQL请求\r\n19.3.5 检索数据\r\n19.3.6 断开与数据源的连接\r\n19.4 一个简单的读取数据的ODBC应用程序\r\n19.4.1 对Visual C++添加ODBC支持\r\n19.4.2 修改ODBCDemo对话框\r\n19.4.3 添加初始化和数据库代码\r\n19.5 封装高级ODBC功能\r\n19.5.1 ODBCInfo类的“多头”文件\r\n19.5.2 创建ODBCInfo类的头文件\r\n19.5.3 定义ODBCInfo类\r\n19.5.4 建立ODBCInfo DLL\r\n19.5.5 测试ODBCInfo类\r\n19.6 小结\r\n\r\n第二十章 MFC数据库类\r\n\r\n20.1 MFC数据库类\r\n20.1.1 CDatabase\r\n20.1.2 CRecordset\r\n20.2 一个MFC数据库类演示程序\r\n20.3 创建Visual C++ 6.0项目\r\n20.3.1 为MFC数据库类增加支持\r\n20.3.2 为应用程序增加对话框\r\n20.3.3 增加用来封装用户的数据的实用类\r\n20.3.4 为UserMaster表创建CRecordset类\r\n20.3.5 修改对敌框的头文件\r\n20.3.6 修改对话框的实现文件\r\n20.3.7 建立UserMaintenance应用程序\r\n20.3.8 使用补它本身使用的CDaabase对象\r\n20.4 参数化记录集和查询\r\n20.4.1 创建和使用参数化记录集\r\n20.5 建立应用程序\r\n20.5.1 创建参数化查询\r\n20.6 小结\r\n\r\n第二十一章 DAO数据库编程\r\n\r\n21.1 DAO概述\r\n21.1.1 DAO的历史\r\n21.1.2 DAO的分层结构\r\n21.1.3 DAO的接口\r\n21.2 使用MFC DAO类\r\n21.2.1 CDaoDatabase\r\n21.2.2 CDaoWorkspace\r\n21.2.3 CDaoRecordset\r\n21.2.4 使用MFC Database类创建维护应用程序\r\n21.3 小结\r\n\r\n第五部分 应用程序编程\r\n\r\n第二十二章 使用DLL\r\n\r\n22.1 普通的DLL\r\n22.1.1 理解普通的DLL本质\r\n22.1.2 动态加载DLL\r\n22.1.3 何时动态加载DLL的例子\r\n22.1.4 动态加载DLL的示例\r\n22.1.5 编写Windows挂接\r\n22.2 MFC扩展DLL\r\n22.2.1 理解MFC扩展DLL内部\r\n22.2.2 通过MFC扩展DLL导出类\r\n22.2.3 AFX_EXT_CLASS的更多信息\r\n22.2.4 使用嵌套的MFC扩展DLL\r\n22.2.5 导出资源\r\n22.2.6 编写在DLL中对装文档和视的示例\r\n22.3 小结\r\n\r\n第二十三章 用第三方库扩展应用程序\r\n\r\n23.1 使用第三方库\r\n23.2 简单介绍Image Object库\r\n23.3 可支持的图像文件格式\r\n23.3.1 BMP文件格式\r\n23.3.2 GIF文件格式\r\n23.3.3 JPEG文件格式\r\n23.3.4 PCX文件格式\r\n23.3.5 TGA文件格式\r\n23.3.6 TIFF文件格式\r\n23.4 使用ImageObject库\r\n23.4.1 用ImageObject库加载图像\r\n23.4.2 用ImageObject库保存图像\r\n23.4.3 用ImageObject库绘制图像\r\n23.5 显示程序\r\n23.6 修剪和伸展图像\r\n23.7 CropStretch程序\r\n23.8 改变图像的颜色深度\r\n23.9 图像处理\r\n23.9.1 图像处理的两个类库\r\n23.10 ProcessImage程序\r\n23.11 小结\r\n\r\n第二十四章 数据加密\r\n\r\n24.1 基本的加码技术术语\r\n24.2 不同类型的加码技术\r\n24.2.1 对称算法\r\n24.2.2 替代算法示例程序\r\n24.2.3 公有键加密技术\r\n24.3 哈希函数\r\n24.4 HFDemo程序\r\n24.5 使用Microsoft的CryptoAPI\r\n24.6 CryptDemo程序\r\n24.7 小结\r\n\r\n第六部分 公用对象模块编程\r\n\r\n第二十五章 ActiveX的介绍\r\n\r\n25.1 OLE 1.0\r\n25.2 OLE 2.0\r\n25.3 COM\r\n25.4 ActiveX应用程序和组件\r\n25.4.1 ActiveX容器应用程序\r\n25.4.2 ActiveX服务器应用程序\r\n25.4.3 ActiveX自动化应用程序\r\n25.4.4 ActiveX控件\r\n25.4.5 ActiveX文档\r\n25.5 小结\r\n\r\n第二十六章 容器和服务器\r\n\r\n26.1 容器应用程序\r\n26.1.1 创建容器应用程序\r\n26.1.2 管理嵌入对象的大小和位置\r\n26.1.3 使用鼠标来选择项\r\n26.1.4 删除嵌入项\r\n26.2 服务器应用程序\r\n26.2.1 创建框架服务器应用程序\r\n26.2.2 定制应用程序的资源\r\n26.2.3 完成应用程序的文档类\r\n26.2.4 完成服务器项类\r\n26.2.5 完成视图类\r\n26.2.6 运行服务器应用程序\r\n26.3 小结\r\n\r\n第二十七章 Automation和ActiveX控件\r\n\r\n27.1 自动化服务器\r\n27.1.1 自动化服务器应用程序\r\n27.1.2 创建框架自动化服务器\r\n27.1.3 定制自动化服务器的资源\r\n27.1.4 完成自动化服务器的文档类\r\n27.1.5 完成自动化服务器的视图类\r\n27.1.6 定义服务器的属性和方法\r\n27.2 自动化客户应用程序\r\n27.2.1 创建自动化客户框架\r\n27.2.2 定制客户应用程序的资源\r\n27.2.3 完成客户应用程序的视衅类\r\n27.2.4 在客户应用程序中初始化ActiveX\r\n27.3 从客户中控制服务器\r\n27.4 ActiveX控件\r\n27.4.1 创建框架ActiveX控件\r\n27.4.2 创建ActiveX控件的用户接口\r\n27.4.3 创建属性和方法\r\n27.4.4 响应控件的按钮\r\n27.4.5 测式这个ActiveX控件\r\n27.4.6 持续性属性\r\n27.4.7 把ActiveX控件放在Web页中\r\n27.5 小结\r\n\r\n第二十八章 活动模板库\r\n\r\n28.1 创建ATL控件\r\n28.2 为项目增加COM对象\r\n28.3 增加绘图代码\r\n28.4 实现接口函数\r\n28.5 从C++中使用控件\r\n28.6 数据类型\r\n28.6.1 转换成BSTR和从BSTR转换\r\n28.6.2 比较BSTR\r\n28.6.3 在调试器中查看BSTR的内容\r\n28.7 在Web页中嵌入ActiveX控件\r\n28.8 小结\r\n\r\n第七部分 颁式计算\r\n\r\n第二十九章 Internet编程\r\n\r\n29.1 从CInternetSession开始\r\n29.2 创建简单的Web浏览器\r\n29.3 与FTP服务器相连\r\n29.4 从FTP服务器检索文件\r\n29.5 FtpDemo程序\r\n29.6 Web自动机\r\n29.6.1 代理\r\n29.6.2 自动机的烦恼\r\n29.7 Crawlers程序\r\n29.8 自动机编写指导\r\n29.8.1 可数据性\r\n29.8.2 本地测试\r\n29.8.3 不要过度占用资源\r\n29.8.4 切记\r\n29.9 小结\r\n\r\n第三十章 CHtmIView\r\n\r\n30.1 创建CHtmIView项目\r\n30.1.1 使用CHtmIView转换项目\r\n30.2 CHtmIView\r\n30.3 CHtmlDemol\r\n30.4 HTML文档信息的检索\r\n30.5 为CHtmIView封锁和登录RUL\r\n30.6 CHtmIViewDemo2\r\n30.7 小结\r\n\r\n第八部分 使用Visual Studio工具\r\n\r\n第三十一章 使用具有C++的J++\r\n\r\n31.1 创建J++项目\r\n31.1.1 生成线程化的小应用程序\r\n31.1.2 删除不必要的代码\r\n31.1.3 在小应用程序窗口中添加绘图代码\r\n31.1.4 小应用程序参数\r\n31.2 Java图像\r\n31.2.1 加载图像\r\n31.2.2 绘制图像\r\n31.3 使Java在Web上获得新生\r\n31.3.1 装入应用和程序\r\n31.3.2 编辑HTML文件\r\n31.4 Banner小应用和程序\r\n31.5 MakeBanner程序\r\n31.6 小结\r\n\r\n第三十二章 联合使用C++和Visual Basic\r\n\r\n32.1 RegistryControl ATL控件\r\n32.2 注册Visual Basic程序\r\n32.3 OhmsCalculator基本的Active控件\r\n32.4 UseOhmsCalculaor C++程序\r\n32.5 Visual Basic的图形坐标\r\n32.6 Visual Baisc的图像控件\r\n32.7 小结\r\n\r\n第三十三章 编写定制AppWizard\r\n\r\n33.1 AppWizard的内部工作\r\n33.2 创建定制AppWizard\r\n33.3 改变项目的缺省设置\r\n33.3.1 创建SDI Automation Wiz演示项目\r\n33.3.2 改变AppWizard宏\r\n33.3.3 定义CCustomAppWiz类\r\n33.3.4 使用宏字典\r\n33.4 在每个About对话框包含个人信息\r\n33.4.1 创建AboutWiz演示项目\r\n33.4.2 添加定制对话框\r\n33.4.3 创建自己的模板\r\n33.4.4 改变newproj文件\r\n33.4.5 改变AppWizard模板\r\n33.4.6 改变CONFIRM.INF文件\r\n33.4.7 为持久性宏使用Registry\r\n33.5 小结\r\n\r\n第九部分 附录\r\n\r\n附录A CD-ROM中的内容\r\n\r\nA.1 章节内容\r\nA.2 编程工具\r\nCD-ROM安装指南
无封面