标题：VisualC++编程技巧精选500例
版权信息
作　　者：罗斌等  编著
出 版 社：水利水电出版社
出版时间：2005-1-1
版　　次：1
页　　数：434
字　　数：682000
印刷时间：2005-1-1
开　　本：
纸　　张：胶版纸
印　　次：I S B N：9787508425856
包　　装：平装编辑推荐 内容简介《Visual C++编程技巧精选500例》是本书作者的第三部Visual C++作品，该书首次以大容量、全方位方式直击Visual C++编程技术精要，涵盖MFC和.NET精髓。全书通篇以实际软件产品开发过程中的需求对问题进行分类，以问答的形式对问题进行讲解，以编程实例的形式对讲解加以明证。
全书内容包括：消息框、常用控件、通用对话框、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序版权信息、系统软件信息、系统硬件信息、存储设备管理、鼠标及键盘、声音和视频、图形和图像、网络、数据库、开发工具等24个部分，各部分既相对独立，又相互关联，在编排顺序上充分考虑了编程技巧的难易性和延续性，是广大Visual C++程序员和编程爱好者不可多得的一本案头参考书。
目录
前言  
第1章  消息框001  如何创建消息框?  
002  如何设置消息框标题?  
003  如何使用资源串创建消息框?
004  如何使用资源串动态显示消息框内容? 
005  如何使消息框显示问号图标?  
006  如何使消息框显示"是/否"按钮? 
007  如何使消息框显示"重试取消"按钮?  
第2章  常用控件008  如何使用滑块控件?  
009  如何使用标签控件? 
010  如何使用树形控件?  
011  如何使用列表控件? 
012  如何使用进度条控件? 
013  如何使用滚动条控件?  
014  如何设置按钮控件标签? 
015  如何设置按钮控件字体? 
016  如何动态创建按钮控件? 
017  如何禁用和启用按钮控件?
018  如何隐藏和显示按钮控件?
019  如何在按钮控件上加载图标?
020  如何在按钮控件上加载位图?  
021  如何在程序窗口中创建按钮控件? 
022  如何限制编辑控件输入的字符类型?
023  如何显示载有RichEdit控件的对话框?
024  如何在列表框中自动装载磁盘文件列表?
025  如何使ListControl控件支持整栏选择? 
026  如何使用PictureBox控件浏览多种格式的图像?  
第3章  通用对话框027  如何使用字体对话框?  028  如何使用颜色对话框?  029  如何使用页面设置对话框?  030  如何使用查找与替换对话框?  031  如何设置文件保存对话框?  032  如何设置文件对话框标题?  033  如何设置文件对话框过滤器?  034  如何设置文件对话框多重选择功能?  035  如何设置文件对话框打开时的目录位置?  036  如何从文件对话框中选择文件夹?  037  如何从文件对话框中新建文件夹?  038  如何在文件对话框中预览位图文件?  039  如何从文件对话框中获取文件扩展名?  040  如何从文件对话框中获取文件标题?  041  如何获取文件对话框选择的多个文件?  042  如何在程序启动时弹出文件打开对话框?  
第4章  标题栏与菜单栏043  如何获取标题栏高度?  044  如何设置标题栏文字?  045  如何获取标题栏文字颜色?  046  如何设置标题栏文字颜色?  047  如何在文档类中设置标题栏文字?  048  如何防止在标题栏上显示文档名?  049  如何禁止标题栏的最小化按钮?  050  如何禁止标题栏的最大化按钮?  051  如何禁止标题栏的关闭按钮?  052  如何获取标题栏的按钮尺寸?  053  如何自定义标题栏?  054  如何获取IE浏览器标题内容?  055  如何取消标题栏的右键系统菜单?  056  如何在标题栏右键菜单中增加菜单项?  057  如何动态增加菜单?  058  如何动态删除菜单?  059  如何启用和禁用菜单命令?  060  如何为菜单添加复选标记?  061  如何为菜单添加单选标记?  062  如何动态删除系统菜单项?  063  如何动态增加系统菜单项?  064  如何触发一个菜单命令?  065  如何创建一个弹出式菜单?  066  如何设计自定义快捷菜单?  067  如何在对话框类型的应用程序中加载菜单?  068  如何获取菜单栏高度?  069  如何取消应用程序菜单栏?  070  如何取消对菜单状态的限制?  071  如何确定顶层菜单所占的行数?  072  如何在子菜单中记录历史文件?  
第5章  工具栏与状态栏073  如何给工具栏分组?  074  如何关闭默认工具栏?  075  如何设置工具栏标题?  076  如何设置工具栏按钮提示?  077  如何关闭工具栏按钮提示?  078  如何启用和禁用工具栏按钮?  079  如何设置下压式工具栏按钮?  080  如何给工具栏按钮设置下拉箭头?  081  如何为工具栏添加动态真彩按钮?  082  如何为工具栏按钮添加文字?  083  如何为IE工具栏添加按钮?  084  如何在工具栏上加载动画?  085  如何在工具栏上加载组合框?  086  如何在工具栏上加载字体组合框?  087  如何使用代码获取工具栏的指针?  088  如何在对话框程序中加入工具栏?  089  如何控制工具栏的停靠位置?  090  如何使用对话栏?  091  如何增加状态栏窗格?  092  如何更新状态栏窗格?  093  如何关闭默认状态栏?  094  如何在状态栏上加载图像?  095  如何在状态栏上加载进度条?  096  如何在状态栏上显示滚动文本?  097  如何在状态栏上显示当前时间?  098  如何在状态栏上显示鼠标当前位置?  099  如何使用代码获取状态栏指针?  
第6章  图标与光标100  如何设置光标?  101  如何裁剪光标?  102  如何捕捉光标热区?  103  如何创建一个等待光标?  104  如何结束一个等待光标?  105  如何获取默认光标大小?  106  如何装入一个系统预定义光标?  107  如何获取系统图标?  108  如何获取默认图标大小?  109  如何获取应用程序图标?  110  如何设置应用程序图标?  111  如何在系统托盘中设置图标?  112  如何直接从文件中装入一个图标?  113  如何使应用程序标题栏图标旋转?  
第7章  程序窗口114  如何切分同视图窗口?  115  如何切分多视图窗口?  116  如何判断程序窗口是否为切分窗口?  117  如何创建非矩形窗口?  118  如何实现无标题窗口的拖动?  119  如何将应用程序窗口居中显示?  120  如何设置应用程序窗口的显示位置?  121  如何保存应用程序窗口显示位置?  122  如何限制多文档子窗口的大小?  123  如何改变应用程序窗口的大小?  124  如何固定应用程序窗口的大小?  125  如何限制改变应用程序窗口的大小?  126  如何设置应用程序窗口的背景图像?  127  如何设置应用程序窗口的背景颜色?  128  如何使MDI程序子窗口最大化启动?  129  如何使SDI程序窗口最大化启动?  130  如何使SDI程序窗口最小化启动?  131  如何在应用程序窗口中添加插入符?,  132  如何设置滚动条的滚动范围?  133  如何获取水平滚动条上箭头位图宽度?  134  如何获取垂直滚动条上箭头位图宽度?  135  如何获取应用程序窗口边界宽度?  136  如何创建列表视图应用程序?  137  如何创建一个非模式对话框?  138  如何创建一个属性页对话框?  139  如何创建一个向导式对话框?  140  如何制作托盘程序?  141  如何实现全屏显示?  142  如何在对话框程序中加入闪屏?  143  如何在文档/视图程序中加入闪屏?  144  如何制作不规则的应用程序界面?  145  如何扩展/收缩对话框应用程序界面?  146  如何使应用程序界面以任意透明度显示?  
第8章  程序控制147  如何创建最简单的MFC程序?  148  如何使应用程序总在最前面显示?  149  如何设置CEditView类型程序的字体?  150  如何判断应用程序是否有相同实例存在?  151  如何使应用程序启动时不自动创建新文档?  152  如何使用内存映射文件实现多个程序间互斥运行?  153  如何屏蔽应用程序加速键?  154  如何在任务栏上隐藏应用程序?  155  如何关闭应用程序?  156  如何使应用程序在关闭时给予提示?  157  如何获取应用程序的当前路径?  158  如何改变应用程序的当前路径?  159  如何为应用程序创建快捷方式?  160  如何根据快捷方式查找应用程序?  161  如何在应用程序中执行其他应用程序?  162  如何处理Windows应用程序的命令行参数?  163  如何在应用程序中添加命令范围消息处理函数?  164  如何创建热键消息?  165  如何重定向命令消息?  166  如何创建自定义消息?  167  如何检索一个寄送消息?  168  如何改变最近文件列表的最大值?  169  如何在应用程序中使用定时器?  170  如何使应用程序支持网页浏览?  171  如何使应用程序支持网页编辑?  172  如何使应用程序支持一档多视?  173  如何在应用程序中循环浏览已经打开的文档?  174  如何在应用程序中循环浏览已经打开的视图?  175  如何设置变量, 使程序中的所有类都能够访问?  
第9章  进程与线程176  如何终止当前进程?  177  如何获取系统进程?  178  如何终止指定进程?  179  如何在程序中启动程序?  180  如何使用事件对象同步进程?  181  如何在两个执行程序间进行数据通信?  182  如何使用工作线程?  183  如何正常终止线程?  184  如何异常终止线程?  185  如何获取线程退出码?  186  如何使用线程优先级?  187  如何使用用户界面线程?  188  如何实现多线程多任务?  189  如何使用临界区同步线程?  190  如何调用帮助文件(. chin)?  
第10章  字符串191  如何对字符串进行连接?  192  如何对字符串进行比较?  193  如何从字符串中存取字符?  194  如何计算一个字符串的大小?  195  如何快速格式化一个字符串?  196  如何将CString类型转换成int类型?  197  如何将CString类型转换成float类型?  198  如何将CString中的字符串赋值给字符指针?  199  如何折行显示字符串?  200  如何旋转显示字符串?  201  如何显示星期月份字符串?  202  如何显示包括制表符的字符串?  203  如何使用BIG5显示一个字符串?  204  如何使字符串输出具有立体效果?  205  如何用省略号显示字符串的其余部分?  
第11章  文件读写操作206  如何打开文件?  207  如何关闭文件?  208  如何读文件?  209  如何写文件?  210  如何定位文件?  211  如何判断文件大小?  212  如何获取文件错误类型?  213  如何检测文件是否已经发生更改?  214  如何判断文件在磁盘上是否存在?  215  如何读写INI文件?  216  如何创建一个临时文件?  217  如何创建一个特大型文件?  218  如何创建一个文本文件?  219  如何删除一个文本文件?  220  如何更名一个文本文件7  221  如何对文本文件进行查找与替换?  222  如何从文本文件中读取一个字符串?  
第12章  文件与文件夹属性操作223  如何判断文件只读属性?  224  如何设置文件只读属性?  225  如何判断文件隐藏属性?  226  如何设置文件隐藏属性?  227  如何判断文件归档属性?  228  如何设置文件归档属性?  229  如何取消文件所有属性?  230  如何获取文件大小?  231  如何获取文件类型?  232  如何获取系统所有文件类型?  233  如何获取文件创建时间?  234  如何获取文件修改时间?  235  如何获取文件访问时间?  236  如何设置文件创建时间?  237  如何设置文件修改时间?  238  如何设置文件访问时间?  239  如何获取文件夹创建时间?  240  如何获取文件夹修改时间?  241  如何获取文件夹访问时间?  242  如何设置文件夹创建时间?  243  如何设置文件夹修改时间?  244  如何设置文件夹访问时间?  245  如何判断文件夹真假?  
第13章  文件与文件夹系统操作246  如何复制文件?  247  如何删除文件?  248  如何移动文件?  249  如何更名文件?  250  如何显示文件复制过程对话框?  251  如何复制文件夹?  252  如何创建文件夹?  253  如何删除文件夹?  254  如何更名文件夹?  255  如何创建多层文件夹?  256  如何删除多层文件夹?  
第14章  系统控制操作257  如何隐藏操作系统任务栏?  258  如何取消隐藏操作系统任务栏?  259  如何检索系统任务栏各窗口标题?  260  如何关闭计算机?  261  如何注销当前用户?  262  如何重新启动计算机?  263  如何关闭计算机并关闭电源?  264  如何设置系统启动自运行程序?  265  如何在程序中将其他窗口程序调至前台?  266  如何获取当前系统时间?  267  如何设置当前系统时间?  268  如何计算时间差?  269  如何获取系统显示元素的颜色?  270  如何获取系统当前的显示模式?  271  如何获取系统支持的显示模式?  272  如何设置系统当前的显示模式?  273  如何设置桌面墙纸?  274  如何删除桌面快捷方式?  275  如何清空回收站?  276  如何清空IE历史记录?  277  如何清除IE地址栏历史记录?  278  如何添加IE浏览器收藏夹内容?  279  如何使用默认浏览器打开指定网页?  280  如何清除上次登录用户历史记录?  281  如何强制操作系统只执行规定的程序?  282  如何在系统"控制面板/添加删除程序"中添加程序?  283  如何注册COM服务组件?  284  如何取消COM服务组件注册?  285  如何隐式链接DLL?  286  如何显式链接DLL?  287  如何使用AFX EXT CLASS导出类?  288  如何使用_eclspec(dllexport)导出DLL函数?  
第15章  程序版权信息289  如何查询程序说明?  290  如何查询程序开发商?  291  如何查询程序内部名称?  292  如何查询程序产品名称?  293  如何查询程序关联注释?  294  如何查询程序注册商标?  295  如何查询程序版权声明?  296  如何查询程序使用语言?  297  如何查询程序原始文件名?  298  如何查询程序私有版本信息?  299  如何查询程序特殊内部版本信息?  300  如何查询程序版本号?  301  如何查询程序产品版本号?  302  如何查询程序内部版本号?  303  如何查询程序产品专用部件号?  304  如何查询程序版本号的主版本号?  305  如何查询程序版本号的次版本号?  306  如何查询程序产品的内部版本号?  307  如何查询程序产品版本号的主版本号?  308  如何查询程序产品版本号的次版本号?  
第16章  系统软件信息309  如何获取用户名称?  310  如何获取计算机名称?  311  如何设置计算机名称?  312  如何获取计算机所有者名称?  313  如何获取计算机所有者单位名称?  314  如何获取操作系统安装序列号?  315  如何获取操作系统的产品名称?  316  如何获取IE浏览器的版本号?  317  如何获取Windows的版本号?  318  如何获取Windows的内建号?  319  如何获取Windows的版本名称?  320  如何获取当前文件夹的位置?  321  如何获取文件夹的根目录位置?  322  如何获取文件夹的上层目录位置?  323  如何获取文件夹中的所有文件?  324  如何获取文件夹中的所有子文件夹?  325  如何获取启动文件夹位置?  326  如何获取临时文件夹位置?  327  如何获取桌面文件夹位置?  328  如何获取字体文件夹位置?  329  如何获取网上邻居文件夹位置?  330  如何获取我的文档文件夹位置?  331  如何获取System文件夹位置?  332  如何获取Windows文件夹位置?  
第17章  系统硬件信息333  如何获取CPU名称?  334  如何获取CPU标识?  335  如何获取CPU制造商名称?  336  如何获取CPU主频?  337  如何获取CPU个数?  338  如何判断CPU是否支持3DNow?  339  如何判断CPU是否支持MMX?  340  如何判断是否提供安全特性?  341  如何判断低档处理器?  342  如何获取显卡BIOS版本号?  343  如何获取显卡BIOS更新日期?  344  如何获取系统BIOS版本号?  345  如何获取系统BIOS更新日期?  
第18章  存储设备管理346  如何获取磁盘序列号?  347  如何获取磁盘卷标名称?  348  如何设置磁盘卷标名称?  349  如何获取磁盘容量大小?  350  如何获取磁盘文件系统名称?  351  如何获取系统所有磁盘驱动器?  352  如何设置磁盘图标?  353  如何隐藏磁盘驱动器?  354  如何判断磁盘驱动器类型?  355  如何启用光驱的自动播放功能?  356  如何指定使用什么程序播放CD?  357  如何在程序中打开/关闭光驱?  358  如何获取系统内存的使用情况？  359  如何映射网络驱动器?  360  如何取消网络驱动器映射?  
第19章  鼠标及键盘361  如何禁止交换鼠标左右键?  362  如何判断鼠标左右键是否交换?  363  如何判断系统是否安装鼠标?  364  如何判断鼠标是否有滚轮?  365  如何禁止使用鼠标滚轮?  366  如何获取鼠标按键个数?  367  如何模仿鼠标操作?  368  如何跟踪鼠标当前位置?  369  如何获取鼠标活动范围?  370  如何获取鼠标双击范围大小?  371  如何获取鼠标双击响应速度?  372  如何设置鼠标双击响应速度?  373  如何判断鼠标单击标题栏操作?  374  如何判断鼠标是否与Ctrl键共同操作?  375  如何捕获键盘Home等虚键?  376  如何设置键盘输入响应速度?  377  如何使用回车键切换输入焦点?  378  如何为应用程序自定义快捷键?  379  如何捕获Alt和Shift+Alt组合键?  380  如何捕获Ctrl和Ctrl+Shift组合键?  381  如何捕获Ctrl. Ctrl+Alt和Ctrl+Alt+Shift组合键?  
第20章  声音和视频382  如何调节系统音量?  383  如何设置背景音乐?  384  如何播放AVI动画文件?  385  如何播放VCD视频文件?  386  如何播放WAV简单声音文件?  387  如何播放系统默认声音文件?  388  如何使用MCI播放WAV声音文件?  389  如何使用MCI播放MIDI声音文件?  
第21章  图形和图像390  如何通过读取位图资源显示位图?  391  如何通过读取位图文件显示位图?  392  如何通过装入位图文件显示位图?  393  如何缩放显示位图?  394  如何截取当前屏幕?  395  如何任意裁剪图片?  396  如何利用掩码位图制作透明图片?  397  如何实现图形的拉伸显示效果?  398  如何通过位图文件直接得到位图大小?  399  如何获取屏幕上某点的颜色?  400  如何设置屏幕上某点的颜色?  401  如何读取与显示JPG等格式图像文件?  402  如何转换图像文件大小?  403  如何转换图像文件格式?  404  如何将彩色图像转换成黑白图像?  405  如何实现图像的底片化效果?  406  如何实现图像的雾化效果?  407  如何实现图像的锐化效果?  408  如何实现图像的柔化效果?  409  如何实现图像的马赛克效果?  410  如何实现图像的百叶窗效果?  411  如何复制图像?  412  如何剪切图像?  413  如何粘贴图像?  414  如何实现画线拉伸效果?  415  如何绘制渐变色图形?  416  如何绘制渐变色文字?  
第22章  网络417  如何初始化Socket?  418  如何创建Socket?  419  如何处理网络监听Socket?  420  如何处理C/S互连?  421  如何处理C/S数据发送?  422  如何处理C/S数据接收?  423  如何实现五连接的通信?  424  如何实现有连接的通信?  425  如何用有连接方式实现网络会议?  426  如何获取网卡地址?  427  如何扫描端口状态?  428  如何进行连续的Pmg?  429  如何获取主机名和IP地址?  430  如何搜索局域网内的计算机?  431  如何创建拨号网络?  432  如何检查电子邮件数量?  433  如何发送和接收电子邮件?  434  如何连接FTP服务器?  435  如何获取FTP服务器的文件列表?  436  如何向FTP服务器上传文件?  437  如何从FTP服务器下载文件?  438  如何查询HTTP站点?  439  如何查询FTP站点?  440  如何查询Gopher站点?  
第23章  数据库441  如何使用ODBC连接数据源?  442  如何使用ODBC实现应用程序与数据库记录的交换?  443  如何使用ODBC浏览数据库记录?  444  如何使用ODBC增加数据库记录?  445  如何使用ODBC删除数据库记录?  446  如何使用ODBC修改数据库记录?  447  如何使用ODBC排序数据库记录?  448  如何使用ODBC查询数据库记录?  449  如何使用SQL语句查询排序数据库记录?  450  如何使用ODBC创建EXCEL文件?  451  如何使用ODBC读取EXCEL文件信息?  452  如何获取系统已经安装的ODBC驱动程序?  453  如何安装VisualC++. NET中的MSSQLServer服务管理器桌面引擎?  454  如何在VisualC++. NET中创建MSSQLServer数据库?  455  如何使用. NET类库访问数据库?  456  如何使用DAO新建数据库?  457  如何使用DAO打开数据库?  458  如何使用DAO关闭数据库?  459  如何使用DAO新建数据库表?  460  如何使用DAO打开数据库表?  461  如何使用DAO删除数据库表?  462  如何使用DAO浏览数据库表字段?  463  如何使用DAO增加数据库表字段?  464  如何使用DAO删除数据库表字段?  465  如何使用DAO新建数据库表查询?  466  如何使用DAO浏览数据库表查询?  467  如何使用DAO删除数据库表查询?  468  如何使用DAO自定义记录集类?  469  如何使用DAO浏览数据库记录?  470  如何使用DAO增加数据库记录?  471  如何使用DAO删除数据库记录?  472  如何使用DAO修改数据库记录?  473  如何使用DAO查询数据库记录?  474  如何使用DAO排序数据库记录?  475  如何使用DAO处理数据库异常?  476  如何判断数据集是否允许更新?  477  如何实现ADO对象与数据源的连接?  478  如何导入ADO动态链接库?  479  如何使用ADO对象浏览数据库记录?  480  如何使用ADO对象增加数据库记录?  481  如何使用ADO对象删除数据库记录?  482  如何使用ADO对象修改数据库记录?  483  如何使用ADO对象排序数据库记录?  484  如何使用ADO对象查询数据库记录?  485  如何使用ADO处理数据库异常?  486  如何存取数据库图像字段?  487  如何创建数据库操作事务?  488  如何在程序中注册数据源?  489  如何创建ODBC数据源?  490  如何使用SQL模糊查询语句?  491  如何使用SQL语句检索时间段?  
第24章  开发工具492  如何设置条件断点?  493  如何设置堆栈大小?  494  如何产生全局惟一标识符?  495  如何删除项目文件中韵类?  496  如何打开和编辑二进制文件?  497  如何检测代码括号是否匹配?  498  如何查看一个宏的原始定义?  499  如何添加. lib文件到当前项目?  500  如何调整对话框模板上的控件的Tab键顺序?