高效实用Visual C++库函数设计
2010-11
清华大学出版社
湛为芳
498
无
我在《C++程序设计技术》一书中曾说过:程序设计是一门艺术。既然是一门艺术,就要在程序设计的“历史长河”中不断思考、勇于探索、善于总结、潜心积累。正是在这一理念下,我在多年的程序设计生涯中或多或少留下了一些对软件开发技术人员有用的东西。 一本好书可以影响人的一生。我大学毕业前夕才见到现在几元钱都可以买到的计算器,见到计算机更是大学毕业以后的事了。在图书匮乏的1980年我有幸买到了一本日本学者马目洋一先生编写的《简明计算机入门》,虽然如饥似渴,但像看天书一般,它对我的打击是致命的。可以说当时很少有我看不懂的数学书,著名数学家华罗庚先生的《数论导引》我也阅读自如,而这种既“简明”又“入门”的天书却让我感叹:难怪计算机这么神秘!毕业三年后的1984年,谭浩强教授的《Basic语言》将我带入了程序设计大门,这本书以及善于思考、总结的理念使我受益终生。后来回忆起来很好笑,那本既“简明”又“入门”的天书只是对如何制造计算机硬件的泛泛而谈。1986年,武汉市在高校和企事业单位开展了一次全市程序设计编程比赛,当时在工厂工作的我有幸获得第一名,武汉市政府授予我“微机编程技术能手”称号,从此更激发了我探索程序设计艺术世界的兴趣。 我1988年开始专门从事软件开发工作。调到单位财务处第一天,处长就给了我一份产品销售表,要我进行利润分析。我工作了一天一夜,终于用当时很先进的DbaseⅢ完成了任务。领导非常满意,直夸计算机真神。可我却陷入了惶恐和沉思:要是领导再拿几份报表来,我不是又要度过几个不眠之夜!几天后,我到北京出差购买计算机设备,在火车上我思考着,能不能设计一个通用的制表系统,将表样的设计及数据计算方法的设计均交给用户去完成,我不就一劳永逸了么!说干就干,在回武汉的火车上方案已经基本形成,回到武汉我就开始着手实现。几番拼搏,智能制表系统的雏形终于完成。后来我去拜访武汉市一轻工业局的朋友才知道,他们一直在使用美国著名的制表软件LOUTS1-2-3,据说其功能非常强大。我迫不及待地复制了一份回去研究。通过一番比较,发现我的系统毫不逊色并有过之。LOUTS存在的某些缺陷直到现在的Excel都没能很好地解决。例如,一份资产负债表作上下移动时其表头不见了,其实在Excel中根本就没有表头的概念。而作左右移动时,“资产”、“负债”列(我将其称为关键列)不能自动留在页面左边。虽然Excel中提供了单元格锁定功能的权宜之计来间接解决这些问题,显然其使用非常不方便,尤其对于多关键列。智能制表系统一切都是自动进行处理,具有人的智能判断能力,该软件1991年获得轻工部二等奖,在全国推广使用。
本书内容简介:作者在长期的软件开发过程中设计、积累了许多方便、实用的函数。使用这些Visual c++库函数可以降低程序员开发软件的难度,提高程序代码编写效率。书中既介绍了这些函数的使用方法,也介绍了这些函数的实现过程。因此,本书既是程序员设计程序的实用工具,也是读者学习程序设计技术的一本难得的参考书。 书中介绍的每个问题都以函数或类的形式来实现,为了方便程序员使用本书的研究成果,作者已经将这些函数和类封装形成了一个系统库Func.1ib,该系统库已经刻录在与本书配套的光盘中。程序员只需与Func.lib及Func.h打交道即可使用本书的所有研究成果,并且使用非常方便。 本书可作为计算机软件开发工程师的开发工具及高等院校计算机科学与技术专业研究生或高年级本科生的计算机软件开发技术参考书。
第1章 系统与界面 1.1 系统 1.1.1 系统初始化 1.1.2 自动启动程序 1.1.3 自动关闭程序 1.1.4 判断程序运行状态 1.1.5 获取鼠标绝对位置 1.1.6 设置鼠标绝对位置 1.1.7 设置鼠标指针 1.1.8 自动关机 1.1.9 打开对话框显示信息 1.1.10 显示信息,自由设置按钮 1.1.11 显示信息,自动关闭对话框 1.1.12 打开对话框显示错误信息 1.1.13 在对话框中显示信息 1.1.14 将bmp位图转换成jpg格式 1.1.15 存储屏幕图像 1.1.16 存储当前窗口图像 1.1.17 语音朗读数字 1.1.18 语音朗读英语 1.1.19 语音朗读单词字母 1.1.20 将整型数转换成逻辑数 1.1.21 获取数据类型 1.1.22 隐藏或打开任务栏 1.1.23 启动并等待程序运行 1.1.24 结束程序等待 1.1.25 禁止运行多个实例 1.1.26 打开或关闭汉字输入法 1.1.27 定制汉字输入法 1.1.28 选取信息 1.1.29 获取程序启动命令行 1.1.30 存储系统信息 1.1.31 装入系统信息 1.1.32 获取当前Windows用户路径 1.1.33 创建程序启动快捷方式 1.2 获取与设置窗口信息 1.2.1 设置窗口尺寸 1.2.2 设置窗口位置 1.2.3 设置窗口尺寸和位置 1.2.4 获取窗口尺寸 1.2..5 获取窗口位置 1.2.6 获取窗口尺寸和位置 1.2.7 设置透明窗口 1.2.8 获取窗口旬柄 1.2.9 隐藏窗口 1.2.10 显示窗口 1.2.11 窗口最小化 1.2.12 窗口最大化 1.2.13 窗口恢复 1.2.14 设置窗口名称 1.2.15 窗口置顶 1.2.16 禁止移动窗口 1.3 控件信息获取与设置 1.3.1 设置控件名称 1.3.2 设置控件尺寸 1.3.3 设置控件位置 1.3.4 设置控件尺寸和位置 1.3.5 获取控件尺寸 1.3.6 获取控件位置 1.3.7 获取控件尺寸和位置 1.3.8 获取控件句柄 1.3.9 控件隐藏与显示 1.3.10 控件禁用与启用 1.3.11 设置控件焦点 1.3.12 设置菜单选定标志 1.4 日期与时间 1.4.1 获取年 1.4.2 获取月 1.4.3 获取日? 1.4.4 获取日期 1.4.5 获取时 1.4.6 获取分 1.4.7 获取秒 1.4.8 获取时间 1.4.9 设置年 1.4.10 设置月 1.4.11 设置日 1.4.12 设置日期 1.4.13 设置时 1.4.14 设置分 1.4.15 设置秒 1.4.16 设置时间 1.4.17 计算某月天数 1.4.18 计算某年天数 1.4.19 判断闰年 1.4.20 判断日期是否合法 1.4.21 判断时间是否合法 1.4.22 获取开机时间 1.4.23 日期类CDate 1.4.24 时间类CMyTime 1.5 注册表 1.5.1 读注册表键值 1.5.2 写注册表键值 1.5.3 删除注册表键名 1.5.4 程序注册 1.5.5 取消程序注册 1.6 特效命令按钮 1.6.1 特效按钮类 1.6.2 设置按钮鼠标指针 1.6.3 设置按钮图标 1.6.4 重新设置按钮图标 1.6.5 设置图标在按钮中的偏移位置 1.6.6 设置按钮文本颜色 1.6.7 设置按钮界面 1.6.8 设置按钮音效 1.6.9 设置按钮增强性立体感 1.6.10 设置静态按钮 1.6.11 特效按钮使用方法 1.7.硬件信息设置与获取 1.7.1 打开光驱 1.7.2 关闭光驱 1.7.3 获取显示器分辨率 1.7.4 设置显示器分辨率 1.7.5 获取硬盘分区个数 1.7.6 获取硬盘ID 1.7.7 获取网卡ID 1.7.8 获取中央处理器ID 1.7.9 获取计算机ID 1.7.1 0获取计算机IP地址 1.7.1 1获取计算机名称第2章 多媒体技术 2.1 音乐播放 2.1.1 音乐播放类CMusic 2.1.2 播放音乐 2.1.3 播放背景音乐 2.1.4 叠加播放音乐 2.1.5 停止播放音乐 2.1.6 暂停播放音乐 2.1.7 恢复播放音乐 2.1.8 计算音乐播放总时间 2.1.9 计算音乐已经播放时间 2.1.10 播放音乐出错时是否报告错误 2.1.11 设置自动查找音乐文件 2.1.12 检查音乐是否播放完毕 2.1.13 查找音乐文件 2.2 视频播放 2.2.1 通过MCI Wnd窗口播放AVI视频 2.2.2 使用Direct Draw播放视频 2.2.3 使用ActiveMovie播放媒体文件 2.3 图片显示 2.3.1 图片显示类CImage 2.3.2 初始化图片显示系统 2.3.3 设置图片文件路径 2.3.4 加载图片文件 2.3.5 加载或撤销背景图片 ……第3章 字符串第4章 文件与文件夹第5章 动态分配内存第6章 少量数组第7章 数据库类CData Base第8章 数学运算第9章 人工智能第10章 系统安装程序第11章 库函数应用范例
无
基本没用上