MFC 界面美化更改菜单栏样式问题

学以致忘 2015-01-29 10:27:09
我创建的MDI程序 我想要更改界面 去掉标题连让菜单栏直接在顶部,就像Wps中的一种样式,如图 那样的效果,该怎么实现啊?
...全文
715 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
幽冥颐轩 2015-06-30
  • 打赏
  • 举报
回复
请问楼主是如何实现的?可否发我一份代码学习学习,谢谢!
学以致忘 2015-02-04
  • 打赏
  • 举报
回复
好了 结贴。
lx624909677 2015-01-30
  • 打赏
  • 举报
回复
引用 8 楼 u013478580 的回复:
引用 5 楼 lx624909677 的回复:
窗口重绘,贴图,使用第三方的库等
我也知道这些,关键是我不知道具体怎么做啊?
哪儿不会网上查,关键字是:MFC窗口重绘,有很多教程
学以致忘 2015-01-30
  • 打赏
  • 举报
回复
引用 6 楼 linux_hsylar 的回复:
CMenu::DrawItem
自绘菜单吗?关键是我试了一天也没有把上面的标题栏去掉。
赵4老师 2015-01-30
  • 打赏
  • 举报
回复
参考Codejock.Xtreme.Suite.Pro.ActiveX源代码?
学以致忘 2015-01-30
  • 打赏
  • 举报
回复
引用 7 楼 crf_net 的回复:
少年你自己研发个重绘库吧,按钮,单选多选下拉表,。。
搞不定啊,水平和精力有限
学以致忘 2015-01-30
  • 打赏
  • 举报
回复
引用 5 楼 lx624909677 的回复:
窗口重绘,贴图,使用第三方的库等
我也知道这些,关键是我不知道具体怎么做啊?
晟蒷 2015-01-30
  • 打赏
  • 举报
回复
少年你自己研发个重绘库吧,按钮,单选多选下拉表,。。
学以致忘 2015-01-29
  • 打赏
  • 举报
回复
有没有知道的,帮帮忙啊
学以致忘 2015-01-29
  • 打赏
  • 举报
回复
linux_hsylar 2015-01-29
  • 打赏
  • 举报
回复
CMenu::DrawItem
lx624909677 2015-01-29
  • 打赏
  • 举报
回复
窗口重绘,贴图,使用第三方的库等
学以致忘 2015-01-29
  • 打赏
  • 举报
回复
有没有具体点的?????????????????????????
ypq374563453 2015-01-29
  • 打赏
  • 举报
回复
全部重绘
关键字: QQ界面 换肤 自绘控件 透明窗口 Vista样式 免费开发包 随着计算机技术的发展与普及,计算机逐渐走进了人们的日常生活当中。人们通过它来学习,娱乐,信息的交互等等.并且对应需而生的各种各样的软件产品的要求也有了一定的提高。除了基本功能外,对软件易操作性,界面的美观性等也是一个成功软件必不可少的重要因素。美观个性化的界面是一个软件吸引和留住用户的法宝之一,通讯软件QQ/MSN就是这类产品中的一个典型的代表,下面将用VC++对QQ的界面进行模拟实现,供广大朋友参考。 相信各位对QQ已经相当熟悉,因此对其外观特性等不作累叙.我们将选用Visual C++来进行进行实现。在这之前,有必要向读者介绍一下大体情况。 其实,整个过程最重要的部分是个性化界面自绘部分,也是难度最大的部分。关于界面编程方面的知识,诚然这是一个较为大的体系结构,我们不能奢求通过简短的篇幅就能对它进行较为全面的描述,并且现在软件开发行业也有缩短开发周期,提高开发效率的趋势,于是将这一难度问题借用外在控件协助我们完成. 关于换肤控件的选择,这里也向大家简单介绍一下,当然这只是个人的观点,仅供参考了解。当前市场提供多个换肤出名的换肤产品(SkinMagic,Skin++,USkin,AppFace,SkinCrafte,等),其中SkinMagic,AppFace,USkin等都是做得比较马虎的,界面的某些元素效果做得让人不太满意.而Skin++和SkinCrafte在这方面做得比较出色.客观的说Skin++目前应该说,是国内较为出色的产品,其占用资源消耗比俄国产品SkinCrafte要出色,而俄国产品SkinCrafte在外观性能上做到的效果比Skin++要优秀点,COOL一点. 虽然如此,本实现没有选用以上任何一产品,原因是这里有一个新起之秀SkinBeauty,它无论是性能和外观做出的效果都比较嚣张,更甚的是宣称提供良好的键盘操作支持同时并号称在Win2K和XP等系统可以做出Vista的玻璃磨沙效果。 当然,这些都是所谓的比较结果而已,还有一个选用SkinBeauty的原因是:SkinBeauty可以使用自带的皮肤编辑软件(SkinBeauty Studio)实现一套皮肤包含多种样式的窗口界面,按钮样式等。这是以上任何一个产品暂时似乎都不能提供的。而我们这个项目的需求也有此(主界面,聊天对话框窗口不同,并有多个不同特性的按钮等细节问题)。 经过了前面的简单描述,接下来将开始具体的实现了。先看一下目标效果,如图: 0.准备工作: 用产品相应的皮肤编辑软件SkinBeautyStudio编辑好界面各元素皮肤,一般好看的界面都是由图片绘制所成(这里是到其主站下载已有的BeautyQQ.bsk皮肤)。将下载好的换肤开发库(SkinBeauty.dll,SkinBeauty.lib)和接口文件SkinBeautyExport.h准备好,下载地址在本文章后有给出,或自己到www.afe-soft.com上自己下载。 1.建立项目: 打开VC++,利用向导帮助建立基于MFC的对话框项目BeautyQQ,过程如下 New-> Projects -> MFC AppWizard(exe) -> Dialoag based 其他默认完成建立。简单的修改一下对话框的大小,标题栏名称等,编译一下,如图: , 运行一下基本正常,这就算完成了项目的创建工作了。 2.加载换肤库 做好基本框架后,界面还是很土,运行效果难以让人满意,于是我们接下来可以加载换肤库,初步改变程序的界面外观了。 将先前准备好的skinBeauty.dll库放在项目的运行目录,在项目的目录放入SkinBeautyExport.h文件和SkinBeauty.lib文件,以便稍后引入并调用函数接口。(一般DLL库的调用分成静态调用和程序运行期间动态调用2种,关于这两种的区别,可参考其他文章。这里,我们将选用静态调用的方式实现) 在适当的位置添加引入库的声明,这里我们选择在stdafx.h文件里面添加: //inside stdafx.h //SkinBeauty Lib Call #include "SkinBeautyExport.h" #pragma comment(lib,"SkinBeauty.lib") 在项目得初始化位置(这里选择在项目的创建实例cpp文件里面,BeautyQQ.cpp的CBeautyQQApp::InitInstance()函数的开始,一般都可以在此加载)加入皮肤加载的代码: BOOL CBeautyQQApp::InitInstance() { CString exeFullPath; CString strFilename; int nLen = GetModuleFileName(NULL, exeFullPath,MAX_PATH); CString strPath(exeFullPath); strPath = strPath.Left(strPath.ReverseFind('\\')); strFilename = strPath +_T("\\beautyQQ.bsk"); SkinLoad(THCAR2char(strFilename.GetBuffer(0))); ….. } 从上面可知,我们先用GetModuleFileName()获取加载皮肤的路径,然后调用提供的函数接口SkinLoad()实现换肤库的加载。而SkinLoad()函数的参数也比较容易理解,就是皮肤所谓位置的路径。它的原型可以在头文件找到: //load the skin with a skin-file from a path. //[IN]:absolute file path BOOL SkinLoad(char* szSkinPath); 至此,已经完成换肤库的加载了。运行看看效果是不是眩了很多,呵呵。 顺便说一下的是,官方声称,调用完SkinLoad()载入后,在退出程序前并不需要调用任何卸载函数,换肤引擎将自动实现库的销毁拆装等操作,除非你程序运行中途意愿性的想去掉皮肤外观。 现在已经完成QQ主界面的外观实现与美化了,接下来我们通过VC向导添加一个对话框资源并添加相应的类,命名CtalkDlg类,其功能是聊天对话框的对话窗口,也就是当我们双击用户列表的其中一个用户后弹出的聊天窗口.当我们运行的时候发现,它的窗口背景外观除了大小外,其它跟主界面是完全一样的, 怎么办呢?没有关系,因为在皮肤文件里面已经编辑和准备好另一外观的窗口皮肤资源,我们只需要将这个聊天对话框创建后跟这个皮肤资源绑定则可,重载这个CtalkDlg类的初始化函数,并添加绑定代码,具体实现如下: BOOL CTalkDlg::OnInitDialog() { CDialog::OnInitDialog(); //将该对话框绑定某资源ID,让其绘制根据该资源定义来实现 //bind with the predefine res BindRes2CtrlbyHWND(103,m_hWnd); ……. } 上述代码功能是将预先在beautyQQ.bak皮肤里面定义好的对话框图像资源与对话框绑定,资源内部ID号为103(注意,该资源编号是编辑皮肤的时候就是由用户定义的,一般从101开始)。从上面的BindRes2CtrlbyHWND()函数名称以及参数可知道,功能是将窗口句柄为m_hWnd的窗口外观与资源Id为103的皮肤资源绑定.于是,这就实现了不同窗口可以显示不同的背景皮肤了。 跟这个功能相类似的是,我们聊天对话框有好几个按钮,它们拥有不一样的外观,按理也应该绑定指定需要的外观皮肤资源,于是,我们可以采用以下函数接口实现: BindRes2CtrlbyID(106,IDC_BUTTON_TALK_SERACH); 以上语句是将皮肤资源ID为106的皮肤跟程序资源ID为IDC_BUTTON_TALK_SERACH的搜索按钮相绑定,该函数接口可以在程序运行前面预先将某控件与指定的皮肤资源相绑定,提供的是控件资源ID与皮肤资源ID。当然也可以用句柄的方式绑定,跟前面的BindRes2CtrlbyHWND()不同的是,大多数对话框窗口在运行期间没有固定的控件资源ID的概念(不象button,edit等控件),所以只能使用实时句柄HWND的形式进行绑定。前面两个资源绑定函数的原型在SkinBeautyExport.h头文件里面可以找到,如下: //bind a skin_resource with a Ctrl by Ctrl ID or by handle //[IN]:user resource define in the skin-file; the ID/handle of Ctrl to be set void BindRes2CtrlbyID(int nUserResID,DWORD dwCtrlID); BOOL BindRes2CtrlbyHWND(int nUserResID,HWND hWnd); 好,经过上面的描述后,对照附件的源码,对于QQ的菜单,用户列表等实现已经不是那么困难了,用户只需象正常的菜单和ListCtrl那样使用就可以了,运行的时候换肤库自动会将他们的外观美化起来。读者可下载源码,看它是怎么绑定实现的。 基本整个复杂而超眩的项目就在完成向导创建后调用两到三个第三方接口函数中完成。坦白说,整个换肤开发包提供的接口函数相当简练,就10多个,功能与使用方法亦是相当明了,相信无需多研究就知道如何使用;如果对这几个接口函数有什么疑问,可以参考官方提供的开发文档说明书。 其实上面的例子跟商家提供的源码类似,只是本人将其实现过程解释出来而已,希望对做界面的朋友有参考作用。开始我是对使用商家界面换肤产品的行为比较反感,后来发现效果和效率还凑和,就算了,并在商家的鼓励下写了篇文章帮他们介绍给读者认知,换取了一个企业版本的开发包。算是“个人利益跟群众利益结合”吧,的确不错的,大家可以测试。不过我想对国内某些用户不太满意的是,目前SkinBeauty的使用文档是英文著写的,暂时没有中文版本,这对部分不动E文的朋友有点不方便罢了。 搞界面开发的,建议多下载几个换肤产品看看其性能,如资源占用,做到的效果,键盘操作性等。 结语 在尤为强调效率的时代,不妨考虑使用可信赖的第三方控件,将繁杂而固化的实现扔给它们来处理,深入产品功能业务,站在别人的肩膀上,再优化自身,从而走得更高更远。 使用换肤开发包SkinBeauty开发商主页:www.afe-soft.com 开发包(免费版本)下载地址: http://www.afe-soft.com/downloadcenter.htm 开发文档下载地址: http://www.afe-soft.com/downloadcenter.htm (免费版本是无Logo,无弹出窗口限制的,这点可以给部分做共享的朋友点方便了,估计,当然,如果要性能好,不完全受限还是需要获取企业版本了..天下没有免费的午餐,天下乌鸦一般黑?…呵呵,还是不损得太厉害了) 界面换肤 美化 异形窗口 vista 样式 透明窗体 自绘控件 vc vb delphi 编程 源码 代码 例子 磨沙 半透明 开发包 免费 破解 button dialog frame XP 下载 自绘按钮 菜单 标题栏 滚动条 listctrl treeview listview scrollbar menu QQ界面 软件 程序 界面 编程
第一部分 Visual C++ 2010开发与新特性 第1章 Visual C++ 2010开发环境简介 1 1.1 Visual C++ 2010简介 1 1.2 Visual C++ 2010下载安装指南 1 1.3 Visual C++ 2010主要特点与新特性 3 1.4 Visual C++ 2010开发环境操作指南 6 1.4.1 创建Visual C++应用程序 6 1.4.2 Visual C++ 2010菜单介绍 9 1.5 Visual C++ 2010 MFC简介 12 1.6 Visual C++ 2010 clr简介 13 1.7 Visual C++ 2010 64位编程 14 1.8 支持新的C++语言标准 14 1.8.1 支持新的C++语言标准(C++ 0x) 14 1.8.2 Lambda表达式 15 1.8.3 静态断言static_assert 17 1.8.4 auto关键字 18 1.8.5 右值引用 19 1.8.6 安全数据类型 22 1.8.7 移动构造 23 1.9 支持开发并行程序 26 1.9.1 运行库支持native代码 26 1.9.2 调试和分析工具 29 1.10 对MFC的增强 31 1.10.1 任务对话框CTaskDialog 31 1.10.2 重启管理器(Restart Manager)支持 33 1.10.3 支持新的用户界面风格 34 第2章 MFC应用程序框架 37 2.1 用MFC向导生成应用程序 37 2.1.1 生成的程序框架 37 2.1.2 生成的应用程序类型 43 2.1.3 向导生成工程文件简介 46 2.2 应用程序框架分析 46 2.2.1 框架简介 47 2.2.2 MFC应用程序运行流程 50 2.2.3 应用程序窗口 51 2.2.4 消息机制与消息循环 59 2.3 文档与视图 65 2.3.1 文档类结构分析 65 2.3.2 视图类结构分析 65 2.3.3 文档与视图的关系 67 2.3.4 sdi应用程序分析 69 2.3.5 mdi应用程序分析 69 2.4 工具栏与状态栏 69 2.4.1 工具栏 70 2.4.2 状态栏 78 2.5 MFC新功能——Office 2007风格程序分析 85 2.6 MFC新功能——Visual Studio风格程序分析 90 2.7 MFC新功能——Windows资源管理器风格程序分析 98 2.8 应用程序框架类对象分析 100 2.8.1 视图类对文档类的调用 100 2.8.2 在框架类中获得当前的文档类和视图类对象指针 101 2.8.3 获得应用程序类对象的指针 101 2.8.4 从应用类对象中获得主框架类对象的指针 101 2.9 小结 102 第3章 Visual C++ 2010 MFC菜单编程 103 3.1 菜单编程 103 3.1.1 创建菜单 104 3.1.2 创建菜单热键 115 3.1.3 标记菜单 115 3.1.4 给菜单加入图标 119 3.1.5 禁用菜单 121 3.1.6 移除与加载菜单 127 3.2 菜单消息的传输机制 129 3.2.1 菜单消息的分类 129 3.2.2 菜单消息的传输路由 129 3.3 动态菜单操作 131 3.3.1 添加菜单 131 3.3.2 插入菜单 133 3.3.3 删除菜单 135 3.3.4 插入菜单的命令响应 136 3.3.5 修改菜单 137 3.4 小结 140 第4章 Visual C++ 2010 MFC对话框编程 141 4.1 对话框简介 141 4.1.1 对话框的控件简介 141 4.1.2 对话框的种类简介 149 4.1.3 设计对话框 150 4.2 创建与销毁对话框 153 4.2.1 模态对话框 153 4.2.2 非模式对话框 159 4.2.3 属性页对话框 163 4.3 消息对话框 173 4.4 通用对话框 175 4.4.1 文件打开对话框 176 4.4.2 文件保存对话框 178 4.4.3 颜色对话框 179 4.4.4 字体对话框 181 4.4.5 查找对话框 183 4.4.6 页面设置对话框 185 4.4.7 打印对话框 186 4.5 小结 187 第5章 Visual C++ 2010 MFC对话框控件 188 5.1 Visual C++ 2010 Button控件简介与开发 191 5.2 Visual C++ 2010 List Box控件简介与开发 193 5.3 Visual C++ 2010 Com boBox控件简介与开发 195 5.3.1 创建扩展组合框控件 196 5.3.2 在扩展组合框控件中使用 5.3.2 图像列表 197 5.3.3 设置各项的图像 197 5.3.4 处理扩展组合框控件中的通知消息 198 5.4 Visual C++ 2010 List控件简介与开发 198 5.4.1 列表控件和列表视图 199 5.4.2 列表项和图像列表 199 5.4.3 回调项和回调屏蔽 200 5.4.4 创建列表控件 200 5.4.5 创建图像列表 201 5.4.6 向控件添加列(报表视图) 204 5.4.7 向控件添加项 205 5.4.8 在列表控件中滚动、排列、排序和查找 205 5.4.9 在列表控件中实现工作区 205 5.4.10 处理列表控件中的通知消息 206 5.4.11 更改列表控件样式 206 5.4.12 虚拟列表控件 207 5.4.13 列表控件的消息映射 209 5.4.14 列表控件的风格选项及表头设置 210 5.4.15 销毁列表控件 210 5.5 Visual C++ 2010 Edit控件简介与开发 211 5.6 Visual C++ 2010 Rich Edit控件简介与开发 213 5.6.1 Rich Edit控件中的字符格式 215 5.6.2 Rich Edit控件中的段落格式 215 5.6.3 Rich Edit控件中的当前选定内容 215 5.6.4 Rich Edit控件中的分词 216 5.6.5 Rich Edit控件中的剪贴板操作 216 5.6.6 Rich Edit控件中的流操作 216 5.6.7 Rich Edit控件中的打印操作 216 5.6.8 无底的Rich Edit控件 217 5.6.9 来自Rich Edit控件的通知 217 5.7 Visual C++ 2010 Progress控件简介与开发 219 5.7.1 进度控件的样式 219 5.7.2 进度控件的设置 219 5.7.3 操作进度控件 220 5.8 Visual C++ 2010 Tree控件简介与开发 220 5.8.1 树控件样式 221 5.8.2 树控件父项和子项 221 5.8.3 树控件项位置 222 5.8.4 树控件项标签 222 5.8.5 树控件标签编辑 223 5.8.6 树控件项的状态 223 5.8.7 树控件图像列表 224 5.8.8 树控件项选择 224 5.8.9 树控件拖放操作 224 5.8.10 树控件项信息 225 5.8.11 树控件通知消息 225 5.9 Visual C++ 2010 DBgrid控件简介与开发 226 5.9.1 示例程序1 226 5.9.2 示例程序2 227 5.10 Visual C++ 2010 Rebar控件简介与开发 228 5.10.1 在Rebar控件中使用图像列表 230 5.10.2 在Rebar控件中使用对话栏 231 5.10.3 处理Rebar控件中的通知消息 231 5.11 Visual C++ 2010 Timer控件简介与开发 232 5.12 Visual C++ 2010 Tab控件简介与开发 234 5.12.1 选项卡和选项卡控件属性 235 5.12.2 选项卡控件的使用方法 235 5.12.3 创建选项卡控件的方法 235 5.12.4 处理选项卡控件通知消息 236 5.12.5 ctabctrl类简介 236 5.13 Visual C++ 2010 IP控件简介与开发 241 5.14 Visual C++ 2010 Picture控件简介与开发 241 5.15 Visual C++ 2010 Slider控件简介与开发 244 5.15.1 滑块控件样式 244 5.15.2 滑块控件成员函数 245 5.15.3 滑块控件通知消息 246 5.16 Visual C++ 2010 Scroll Bar控件简介与开发 246 5.17 Visual C++ 2010 Hot Key控件简介与开发 248 5.17.1 使用热键控件 248 5.17.2 设置热键 249 5.18 Visual C++ 2010 Animation控件简介与开发 249 5.18.1 使用动画控件 249 5.18.2 动画控件发送的通知 250 5.19 Visual C++ 2010 Spin控件简介与开发 250 5.19.1 数值调节钮的样式 250 5.19.2 数值调节钮成员函数 251 5.20 Visual C++ 2010 GroupBox控件简介与开发 251 5.21 Visual C++ 2010 Data Time Picker控件简介与开发 252 5.21.1 创建日期和时间选择器控件 253 5.21.2 访问嵌入的月历控件 253 5.21.3 在日期和时间选择器控件中使用自定义格式字符串 254 5.21.4 在日期和时间选择器控件中使用回调字段 254 5.21.5 处理日期和时间选择器控件中的通知消息 256 5.22 Visual C++ 2010 Month Canlendar控件简介与开发 256 5.22.1 创建月历控件 257 5.22.2 处理月历控件中的通知消息 257 5.22.3 设置月历控件的日状态 257 5.23 Visual C++ 2010 Custom控件简介与开发 258 5.23.1 使用MFC方法定制控件必备的几个基本概念 259 5.23.2 定制自定义控件的3种常见方法 260 5.24 Visual C++ 2010 SysLink控件简介与开发 260 5.25 Visual C++ 2010 Split Button控件简介与开发 261 5.26 Visual C++ 2010 Network Address控件简介与开发 262 5.27 Visual C++ 2010 Check Box控件简介与开发 262 5.28 Visual C++ 2010 Radio Button控件简介与开发 264 5.28.1 为单选按钮控件分组 264 5.28.2 获得被选中的单选按钮的文本 264 5.29 Visual C++ 2010 Mediaplayer控件简介与开发 265 5.30 小结 266 第二部分 Visual C++ 2010下MFC开发 第6章 计算机测控系统概述 267 6.1 Visual C++ 2010 SDI开发简介 267 6.1.1 建立应用程序基本框架 267 6.1.2 处理视图 267 6.1.3 处理文档 271 6.1.4 串行化处理 274 6.1.5 sdi应用程序编程思路 275 6.2 Visual C++ 2010 MDI开发简介 277 6.2.1 多文档接口 277 6.2.2 生成程序 278 6.2.3 程序类、文件和代码 279 6.2.4 自定义资源 281 6.3 Visual C++ 2010 View开发 282 6.3.1 生成源文件 283 6.3.2 初始化视图类数据成员 283 6.3.3 加入消息处理功能 285 6.3.4 设计程序资源 290 6.3.5 定制miniDraw窗口 292 6.3.6 程序清单 293 6.4 Visual C++ 2010 EditView开发 298 6.4.1 生成MiniEdit程序 299 6.4.2 修改程序菜单 300 6.4.3 编辑加速键 301 6.4.4 程序清单 303 6.5 Visual C++ 2010 FormView开发 306 6.5.1 自定义FormDemo程序 307 6.5.2 程序清单 314 6.6 Visual C++ 2010 ScrollView开发 319 6.6.1 加入滚动功能 319 6.6.2 坐标换算 319 6.6.3 限制图形大小 322 6.6.4 改变鼠标光标 325 6.7 Visual C++ 2010 HtmlEditView开发 328 6.8 Visual C++ 2010 HtmlView开发 331 6.9 Visual C++ 2010 ListView开发 335 6.10 Visual C++ 2010 RichEditView开发 335 6.11 VisualC++ 2010 TreeView开发 336 6.12 Visual C++ 2010 Office 2007风格文档视图开发框架 337 6.13 Visual C++ 2010 Visual Studio 2008风格文档视图开发框架 342 6.14 Visual C++ 2010 Windows资源管理器风格文档视图开发框架 346 6.15 小结 350 第7章 Visual C++ 2010 MFC应用程序界面美化 351 7.1 应用程序窗口风格美化 351 7.1.1 借助ActiveSkin美化窗口 351 7.1.2 修改窗口外观 352 7.2 应用程序窗口图标与背景修改 359 7.2.1 修改窗口图标 359 7.2.2 修改背景 360 7.3 工具栏编程与美化 365 7.3.1 创建工具栏 365 7.3.2 在工具栏中添加、删除按钮 366 7.3.3 从对话框创建工具栏 368 7.4 状态栏编程与美化 370 7.4.1 创建状态栏 370 7.4.2 在状态栏中插入进度条 370 7.5 鼠标光标编程 371 7.5.1 鼠标光标编程步骤 371 7.5.2 鼠标的消息处理机制 373 7.5.3 示例 374 7.6 创建启动界面 376 7.7 创建特效窗口启动应用程序 378 7.8 创建特效窗口关闭应用程序 378 7.9 小结 383 第8章 Visual C++ 2010 MFC文本与字体 384 8.1 CFont字体类简介 384 8.1.1 CFont字体类成员介绍 384 8.1.2 CFont字体类初始化函数 385 8.1.3 其他成员介绍 390 8.2 创建文本插入符与图片插入符 391 8.2.1 创建文本插入符 391 8.2.2 创建图片插入符 394 8.2.3 创建随鼠标移动的插入符 396 8.3 输出文字与字体格式 397 8.3.1 输出固定文字 397 8.3.2 设定输出字体的格式 398 8.3.3 字符输入 399 8.4 输出彩色文字与变色文字 404 8.4.1 DrawText()函数和字符串资源 404 8.4.2 定时器和变色文字 408 8.5 小结 410 第9章 Visual C++ 2010 MFC图形图像编程 411 9.1 Windows绘图简介 411 9.1.1 设备描述表 411 9.1.2 绘图属性 412 9.1.3 元文件和路径 412 9.1.4 颜色和调色板 412 9.1.5 图形设备接口函数 413 9.2 Windows屏幕绘图简介 414 9.2.1 窗口客户区 414 9.2.2 映射模式 414 9.2.3 图形刷新 416 9.3 微软GDI绘图简介 416 9.3.1 GDI基础 416 9.3.2 GDI结构 417 9.3.3 GDI函数调用 417 9.3.4 GDI基本图形 418 9.4 GDI笔绘图 419 9.4.1 CPen类简介 419 9.4.2 使用GDI绘制线条 419 9.4.3 使用CPen类绘制指定的线条 422 9.4.4 绘制连续的线条 424 9.5 GDI画刷绘图 425 9.5.1 CBrush类介绍 426 9.5.2 CBrush类简单画刷的实现 429 9.5.3 CBrush类位图画刷的实现 430 9.5.4 透明画刷的实现 431 9.6 小结 433 第10章 Visual C++ 2010 MFC动态函数链接库 434 10.1 动态函数链接库简介 434 10.1.1 什么是动态函数链接库 434 10.1.2 动态函数链接库的优点 435 10.1.3 动态函数链接库的起源 436 10.1.4 动态函数链接库的原理 436 10.2 调用动态函数链接库 436 10.2.1 静态链接 436 10.2.2 动态链接 438 10.3 Dll的框架简介 439 10.3.1 DllMain()函数简介 439 10.3.2 Dll的导出函数 439 10.4 创建MFC Dll范例 440 10.4.1 建立MFC Dll工程 440 10.4.2 添加实现代码 442 10.4.3 编译并调用 443 10.5 创建Win32 Dll范例 443 10.5.1 建立Win32工程 443 10.5.2 添加动态链接库代码 444 10.5.3 编译工程 444 10.6 创建资源Dll范例 445 10.6.1 建立MFC Application工程 445 10.6.2 建立中文资源Dll 445 10.6.3 加载资源Dll 446 10.7 hook技术 446 10.7.1 hook函数类型 446 10.7.2 使用hook函数 449 10.7.3 hook鼠标 449 10.7.4 hook键盘 450 10.8 小结 452 第11章 Visual C++ 2010 MFC Activex控件 454 11.1 Activex控件简介 454 11.2 Activex控件测试与注册 455 11.2.1 Activex控件的测试 455 11.2.2 Activex控件的注册 457 11.3 MFC Activex控件向导 458 11.4 Activex控件属性开发 458 11.4.1 添加常用属性 459 11.4.2 添加自定义属性 460 11.4.3 高级属性实现 460 11.4.4 访问环境属性 461 11.5 Activex控件事件开发 461 11.5.1 添加常用事件 462 11.5.2 添加自定义事件 463 11.6 Activex控件方法开发 464 11.6.1 添加常用方法 465 11.6.2 添加自定义方法 465 11.6.3 从方法返回错误代码 466 11.7 完整Activex控件范例 467 11.7.1 创建工程 467 11.7.2 clock控件的实现 469 11.7.3 添加常用属性 470 11.7.4 添加自定义属性 473 11.7.5 添加方法 474 11.7.6 添加常用事件 475 11.7.7 添加自定义事件 476 11.8 调用Activex控件 477 11.9 小结 478 第12章 Visual C++ 2010 MFC文件与注册表操作 479 12.1 文本操作串行化 479 12.1.1 文档类serialize()函数 479 12.1.2 CArchive对文件进行读写 482 12.1.3 文档操作串行化代码分析 485 12.2 CFile类 492 12.2.1 打开文件操作 493 12.2.2 读写文件操作 494 12.2.3 定位文件操作 496 12.2.4 关闭文件操作 497 12.2.5 异常操作 497 12.2.6 文件管理操作 498 12.3 .ini文件读写操作 500 12.4 注册表读写操作 502 12.4.1 注册表简介 502 12.4.2 注册表API 504 12.4.3 访问并修改注册表 507 12.5 小结 509 第13章 Visual C++ 2010 MFC数据库开发 510 13.1 数据库基本知识 510 13.2 SQL语言的基础知识 511 13.3 ODBC访问数据库 512 13.3.1 注册ODBC数据库 512 13.3.2 创建一个MFC的ODBC程序 514 13.3.3 程序结构分析 515 13.3.4 在视图上显示数据库查询结果 520 13.3.5 对查询结果排序及设置查询条件 524 13.3.6 动态设置查询条件并更新查询结果 527 13.4 ODBC更新数据库 532 13.5 ODBC访问SQL server 540 13.6 ado数据库访问 543 13.6.1 ado数据库访问概述 543 13.6.2 在Visual C++中使用ado编程 546 13.7 ado访问SQL server数据库 556 13.8 小结 556 第14章 Visual C++2010 MFC多线程程序设计 557 14.1 进程和多线程的概念 557 14.2 线程的创建 558 14.2.1 创建工作者线程 558 14.2.2 创建用户界面线程 559 14.3 线程的终止 560 14.4 设置线程的优先级 562 14.5 暂停及重新启动线程 563 14.6 线程间的通信 571 14.7 线程的同步 572 14.7.1 临界区 572 14.7.2 互斥量 573 14.7.3 事件 573 14.7.4 信号量 574 14.8 小结 579 第15章 Visual C++ 2010 MFC网络程序设计 580 15.1 计算机网络的基础知识 580 15.1.1 TCP/IP协议模型 580 15.1.2 ip地址 582 15.1.3 端口 582 15.1.4 数据封装 582 15.2 Winsock简介 583 15.3 MFC对Windows Sockets的支持 583 15.3.1 Socket的定义 584 15.3.2 casyncSocket类介绍 584 15.3.3 cSocket类介绍 592 15.4 一个基于udp的聊天室示例 593 15.4.1 MFC对Windows Sockets的初始化 593 15.4.2 服务器端的实现 595 15.4.3 客户端的实现 599 15.5 一个基于TCP的聊天室示例 605 15.5.1 服务器端的实现 606 15.5.2 客户端的实现 609 15.6 小结 612 第16章 Visual C++ 2010 MFC进程通信 613 16.1 剪贴板通信 613 16.1.1 Openclipboard()函数 613 16.1.2 Closeclipboard()函数 614 16.1.3 emptyclipboard()函数 614 16.1.4 Setclipboarddata()函数 614 16.1.5 globalalloc()函数 615 16.1.6 globallock()函数 616 16.1.7 globalunlock()函数 616 16.1.8 Getclipboarddata()函数 616 16.1.9 一个利用剪贴板在不同进程之间交换数据的示例 616 16.2 邮槽通信 619 16.2.1 Createmailslot()函数 619 16.2.2 Getmailslotinfo()函数 620 16.2.3 Setmailslotinfo()函数 621 16.2.4 ReadFile()函数 621 16.2.5 GetFiletime()函数和SetFiletime()函数 621 16.2.6 CreateFile()函数 622 16.2.7 WriteFile()函数 623 16.2.8 Closehandle()函数 623 16.2.9 一个利用邮槽在不同进程间通信的示例 623 16.3 匿名管道通信 628 16.3.1 Createpipe()函数 628 16.3.2 Createprocess()函数 629 16.3.3 Getstdhandle()函数 631 16.3.4 ReadFile()和WriteFile()函数 632 16.3.5 一个利用匿名管道在父子进程间通信的示例 632 16.4 命名管道通信 637 16.4.1 Createnamedpipe()函数 637 16.4.2 connectnamedpipe()函数 639 16.4.3 disconnectnamedpipe()函数 640 16.4.4 waitnamedpipe()函数 640 16.4.5 利用命名管道通信的基本流程 640 16.4.6 一个利用命名管道在不同进程间通信的示例 641 16.5 共享内存通信 647 16.5.1 CreateFilemApping()函数 647 16.5.2 mapViewofFile()函数 648 16.5.3 unmapViewofFile()函数 649 16.5.4 OpenFilemApping()函数 649 16.5.5 利用共享内存通信的基本流程 649 16.5.6 一个利用共享内存在不同进程间通信的示例 650 16.6 小结 655 第三部分 Visual C++ 2010下MFC与clr进行开发 第17章 Visual C++ 2010 clr开发基础 656 17.1 什么是.net 656 17.2 .net框架 656 17.3 公共语言运行时(clr) 657 17.3.1 托管代码 659 17.3.2 代码验证 659 17.3.3 代码访问验证 659 17.3.4 垃圾回收 659 17.3.5 语言的互操作性 660 17.3.6 实时编译(jit) 660 17.4 通用类型系统(cts) 661 17.5 通用语言规范(cls) 663 17.6 程序集 664 17.6.1 元数据 664 17.6.2 程序集版本管理 665 17.6.3 微软中间语言(msil) 665 17.6.4 资源 666 17.7 .net开发应用程序的范畴 666 17.8 .net框架类库 667 17.9 C++/clr开发语法简介 668 17.10 小结 670 第18章 Visual C++ 2010 clr Windows窗口编程 671 18.1 创建Windows应用程序 671 18.2 类层次结构 677 18.3 control类 677 18.3.1 大小与位置 678 18.3.2 外观 679 18.3.3 用户交互操作 679 18.3.4 Windows功能 680 18.4 标准Windows控件使用指南 681 18.4.1 Button控件 681 18.4.2 checkBox控件 681 18.4.3 radioButton控件 682 18.4.4 comboBox控件、ListBox控件和checkedListBox控件 682 18.4.5 datetimepicker控件 684 18.4.6 errorprovider组件 685 18.4.7 helpprovider组件 686 18.4.8 imageList组件 686 18.4.9 label控件 686 18.4.10 ListView控件 687 18.4.11 pictureBox控件 688 18.4.12 progressbar控件 689 18.4.13 TextBox控件、RichTextBox控件与maskedTextBox 18.4.13 控件 689 18.4.14 panel控件 690 18.4.15 flowlayoutpanel控件和tablelayoutpanel控件 690 18.4.16 splitcontainer控件 691 18.4.17 tabcontrol控件和tabpage控件 691 18.4.18 toolstrip控件 692 18.4.19 menustrip控件 694 18.4.20 conTextmenustrip控件 694 18.4.21 toolstripmenuitem控件 694 18.4.22 toolstripmanager类 695 18.4.23 toolstripcontainer控件 695 18.5 窗体Winform 695 18.5.1 form类 695 18.5.2 多文档界面 700 18.5.3 定制控件 700 18.6 小结 707 第19章 Visual C++ 2010 MFC与.net交互编程 708 19.1 编写托管扩展应用程序 708 19.2 编写访问.net的MFC程序 709 19.3 混合模式编程问题 711 19.4 运用.net类型 713 19.4.1 定义和使用托管类型 713 19.4.2 将非托管对象作为托管类的成员 715 19.4.3 装箱和拆箱 716 19.4.4 指针 717 19.4.5 在非托管代码中使用托管数组 719 19.5 小结 720 第四部分 发布Visual C++ 2010程序 第20章 Visual C++ 2010应用程序部署 721 20.1 Windows installer介绍 722 20.2 一个简单的Windows应用程序 723 20.3 使用安装向导快速创建安装包 726 20.4 手动创建安装程序 728 20.5 使用安装编辑器 731 20.5.1 File system(文件系统编辑器) 731 20.5.2 registry编辑器 732 20.5.3 File types编辑器 733 20.5.4 user interface编辑器 734 20.5.5 custom actions编辑器 735 20.5.6 launch conditions编辑器 736 20.6 小结 736 第五部分 基于Windows 7平台用Visual C++ 2010开发 第21章 Visual C++ 2010基于Windows 7新特性开发 737 21.1 实现C++兼容开发 737 21.1.1 实现uac数据重定向 737 21.1.2 实现高dpi 741 21.1.3 实现安装程序检测 742 21.1.4 会话0隔离 743 21.1.5 用户界面特权隔离(uipi) 746 21.1.6 版本检查 748 21.2 Windows 7系统专题 750 21.2.1 实现超级任务栏 750 21.2.2 实现shell库 759 21.2.3 实现后台服务 762 21.2.4 开发基于Windows 7的 21.1.5 设备与性能应用 763 21.3 开发基于Windows 7的新特性 769 21.3.1 实现多点触摸 769 21.3.2 实现获取传感器与位置 771 21.3.3 实现Windows 7 ribbon界面开发 774 21.3.4 基于Visual C++ 2010开发基于Windows 7的语音识别与语音合成 776 21.3.5 基于Visual C++ 2010与Windows sdk for Windows 7开发Windows 7平台的tablet pc应用 787 21.3.6 开发Windows 7的安全体验cryptoAPI加密 804
资源比较大,分成两部分上传。 第一部分 Visual C++ 2010开发与新特性   第1章 Visual C++ 2010开发环境简介 1   1.1 Visual C++ 2010简介 1   1.2 Visual C++ 2010下载安装指南 1   1.3 Visual C++ 2010主要特点与   1.3 新特性 3   1.4 Visual C++ 2010开发环境操作   1.4 指南 6   1.4.1 创建Visual C++应用程序 6   1.4.2 Visual C++ 2010菜单介绍 9   1.5 Visual C++ 2010 MFC简介 12   1.6 Visual C++ 2010 CLR简介 13   1.7 Visual C++ 2010 64位编程 14   1.8 支持新的C++语言标准 14   1.8.1 支持新的C++语言标准   1.8.1 (C++ 0x) 14   1.8.2 Lambda表达式 15   1.8.3 静态断言static_assert 17   1.8.4 auto关键字 18   1.8.5 右值引用 19   1.8.6 安全数据类型 22   1.8.7 移动构造 23   1.9 支持开发并行程序 26   1.9.1 运行库支持native代码 26   1.9.2 调试和分析工具 29   1.10 对MFC的增强 31   1.10.1 任务对话框CTaskDialog 31   1.10.2 重启管理器(Restart Manager)支持 33   1.10.3 支持新的用户界面风格 34   第2章 MFC应用程序框架 37   2.1 用MFC向导生成应用程序 37   2.1.1 生成的程序框架 37   2.1.2 生成的应用程序类型 43   2.1.3 向导生成工程文件简介 46   2.2 应用程序框架分析 46   2.2.1 框架简介 47   2.2.2 MFC应用程序运行流程 50   2.2.3 应用程序窗口 51   2.2.4 消息机制与消息循环 59   2.3 文档与视图 65   2.3.1 文档类结构分析 65   2.3.2 视图类结构分析 65   2.3.3 文档与视图的关系 67   2.3.4 SDI应用程序分析 69   2.3.5 MDI应用程序分析 69   2.4 工具栏与状态栏 69   2.4.1 工具栏 70   2.4.2 状态栏 78   2.5 MFC新功能——Office 2007   2.5.1 风格程序分析 85   2.6 MFC新功能——Visual Studio   2.6.1 风格程序分析 90   2.7 MFC新功能——Windows资源   2.7.1 管理器风格程序分析 98   2.8 应用程序框架类对象分析 100   2.8.1 视图类对文档类的调用 100   2.8.2 在框架类中获得当前的文档类和视图类对象指针 101   2.8.3 获得应用程序类对象的指针 101   2.8.4 从应用类对象中获得主框架类对象的指针 101   2.9 小结 102   第3章 Visual C++ 2010 MFC菜单编程 103   3.1 菜单编程 103   3.1.1 创建菜单 104   3.1.2 创建菜单热键 115   3.1.3 标记菜单 115   3.1.4 给菜单加入图标 119   3.1.5 禁用菜单 121   3.1.6 移除与加载菜单 127   3.2 菜单消息的传输机制 129   3.2.1 菜单消息的分类 129   3.2.2 菜单消息的传输路由 129   3.3 动态菜单操作 131   3.3.1 添加菜单 131   3.3.2 插入菜单 133   3.3.3 删除菜单 135   3.3.4 插入菜单的命令响应 136   3.3.5 修改菜单 137   3.4 小结 140   第4章 Visual C++ 2010 MFC对话框编程 141   4.1 对话框简介 141   4.1.1 对话框的控件简介 141   4.1.2 对话框的种类简介 149   4.1.3 设计对话框 150   4.2 创建与销毁对话框 153   4.2.1 模态对话框 153   4.2.2 非模式对话框 159   4.2.3 属性页对话框 163   4.3 消息对话框 173   4.4 通用对话框 175   4.4.1 文件打开对话框 176   4.4.2 文件保存对话框 178   4.4.3 颜色对话框 179   4.4.4 字体对话框 181   4.4.5 查找对话框 183   4.4.6 页面设置对话框 185   4.4.7 打印对话框 186   4.5 小结 187   第5章 Visual C++ 2010 MFC对话框控件 188   5.1 Visual C++ 2010 Button控件简介与开发 191   5.2 Visual C++ 2010 List Box 控件简介与开发 193   5.3 Visual C++ 2010 Com boBox控件简介与开发 195   5.3.1 创建扩展组合框控件 196   5.3.2 在扩展组合框控件中使用   5.3.2 图像列表 197   5.3.3 设置各项的图像 197   5.3.4 处理扩展组合框控件中的通知消息 198   5.4 Visual C++ 2010 List控件简介与开发 198   5.4.1 列表控件和列表视图 199   5.4.2 列表项和图像列表 199   5.4.3 回调项和回调屏蔽 200   5.4.4 创建列表控件 200   5.4.5 创建图像列表 201   5.4.6 向控件添加列(报表视图) 204   5.4.7 向控件添加项 205   5.4.8 在列表控件中滚动、排列、   5.4.8 排序和查找 205   5.4.9 在列表控件中实现工作区 205   5.4.10 处理列表控件中的通知消息 206   5.4.11 更改列表控件样式 206   5.4.12 虚拟列表控件 207   5.4.13 列表控件的消息映射 209   5.4.14 列表控件的风格选项及表头设置 210   5.4.15 销毁列表控件 210   5.5 Visual C++ 2010 Edit控件简介与开发 211   5.6 Visual C++ 2010 Rich Edit控件简介与开发 213   5.6.1 Rich Edit控件中的字符格式 215   5.6.2 Rich Edit控件中的段落格式 215   5.6.3 Rich Edit控件中的当前选定内容 215   5.6.4 Rich Edit控件中的分词 216   5.6.5 Rich Edit控件中的剪贴板操作 216   5.6.6 Rich Edit控件中的流操作 216   5.6.7 Rich Edit控件中的打印操作 216   5.6.8 无底的Rich Edit控件 217   5.6.9 来自Rich Edit控件的通知 217   5.7 Visual C++ 2010 Progress控件简介与开发 219   5.7.1 进度控件的样式 219   5.7.2 进度控件的设置 219   5.7.3 操作进度控件 220   5.8 Visual C++ 2010 Tree控件简介与开发 220   5.8.1 树控件样式 221   5.8.2 树控件父项和子项 221   5.8.3 树控件项位置 222   5.8.4 树控件项标签 222   5.8.5 树控件标签编辑 223   5.8.6 树控件项的状态 223   5.8.7 树控件图像列表 224   5.8.8 树控件项选择 224   5.8.9 树控件拖放操作 224   5.8.10 树控件项信息 225   5.8.11 树控件通知消息 225   5.9 Visual C++ 2010 DBgrid控件简介与开发 226   5.9.1 示例程序1 226   5.9.2 示例程序2 227   5.10 Visual C++ 2010 Rebar控件简介与开发 228   5.10.1 在Rebar控件中使用图像列表 230   5.10.2 在Rebar控件中使用对话栏 231   5.10.3 处理Rebar控件中的通知消息 231   5.11 Visual C++ 2010 Timer控件简介与开发 232   5.12 Visual C++ 2010 Tab控件简介与开发 234   5.12.1 选项卡和选项卡控件属性 235   5.12.2 选项卡控件的使用方法 235   5.12.3 创建选项卡控件的方法 235   5.12.4 处理选项卡控件通知消息 236   5.12.5 CTabCtrl类简介 236   5.13 Visual C++ 2010 IP控件简介与开发 241   5.14 Visual C++ 2010 Picture控件简介与开发 241   5.15 Visual C++ 2010 Slider控件简介与开发 244   5.15.1 滑块控件样式 244   5.15.2 滑块控件成员函数 245   5.15.3 滑块控件通知消息 246   5.16 Visual C++ 2010 Scroll Bar控件简介与开发 246   5.17 Visual C++ 2010 Hot Key控件简介与开发 248   5.17.1 使用热键控件 248   5.17.2 设置热键 249   5.18 Visual C++ 2010 Animation控件简介与开发 249   5.18.1 使用动画控件 249   5.18.2 动画控件发送的通知 250   5.19 Visual C++ 2010 Spin控件简介与开发 250   5.19.1 数值调节钮的样式 250   5.19.2 数值调节钮成员函数 251   5.20 Visual C++ 2010 GroupBox控件简介与开发 251   5.21 Visual C++ 2010 Data Time Picker控件简介与开发 252   5.21.1 创建日期和时间选择器控件 253   5.21.2 访问嵌入的月历控件 253   5.21.3 在日期和时间选择器控件中使用自定义格式字符串 254   5.21.4 在日期和时间选择器控件中使用回调字段 254   5.21.5 处理日期和时间选择器控件中的通知消息 256   5.22 Visual C++ 2010 Month Canlendar控件简介与开发 256   5.22.1 创建月历控件 257   5.22.2 处理月历控件中的通知消息 257   5.22.3 设置月历控件的日状态 257   5.23 Visual C++ 2010 Custom控件简介与开发 258   5.23.1 使用MFC方法定制控件必备的几个基本概念 259   5.23.2 定制自定义控件的3种常见方法 260   5.24 Visual C++ 2010 SysLink控件简介与开发 260   5.25 Visual C++ 2010 Split Button控件简介与开发 261   5.26 Visual C++ 2010 Network Address控件简介与开发 262   5.27 Visual C++ 2010 Check Box控件简介与开发 262   5.28 Visual C++ 2010 Radio Button控件简介与开发 264   5.28.1 为单选按钮控件分组 264   5.28.2 获得被选中的单选按钮的文本 264   5.29 Visual C++ 2010 MediaPlayer控件简介与开发 265   5.30 小结 266   第二部分 Visual C++ 2010下MFC开发   第6章 计算机测控系统概述 267   6.1 Visual C++ 2010 SDI开发简介 267   6.1.1 建立应用程序基本框架 267   6.1.2 处理视图 267   6.1.3 处理文档 271   6.1.4 串行化处理 274   6.1.5 SDI应用程序编程思路 275   6.2 Visual C++ 2010 MDI开发简介 277   6.2.1 多文档接口 277   6.2.2 生成程序 278   6.2.3 程序类、文件和代码 279   6.2.4 自定义资源 281   6.3 Visual C++ 2010 View开发 282   6.3.1 生成源文件 283   6.3.2 初始化视图类数据成员 283   6.3.3 加入消息处理功能 285   6.3.4 设计程序资源 290   6.3.5 定制MiniDraw窗口 292   6.3.6 程序清单 293   6.4 Visual C++ 2010 EditView开发 298   6.4.1 生成MiniEdit程序 299   6.4.2 修改程序菜单 300   6.4.3 编辑加速键 301   6.4.4 程序清单 303   6.5 Visual C++ 2010 FormView开发 306   6.5.1 自定义FormDemo程序 307   6.5.2 程序清单 314   6.6 Visual C++ 2010 ScrollView开发 319   6.6.1 加入滚动功能 319   6.6.2 坐标换算 319   6.6.3 限制图形大小 322   6.6.4 改变鼠标光标 325   6.7 Visual C++ 2010 HtmlEditView开发 328   6.8 Visual C++ 2010 HtmlView开发 331   6.9 Visual C++ 2010 ListView开发 335   6.10 Visual C++ 2010 RichEditView开发 335   6.11 VisualC++ 2010 TreeView开发 336   6.12 Visual C++ 2010 Office 2007风格文档视图开发框架 337   Visual C++ 2010 Visual Studio   6.13 2008风格文档视图开发框架 342   6.14 Visual C++ 2010 Windows资源管理器风格文档视图开发框架 346   6.15 小结 350   ……   第7章 VisualC++2010MFC应用程序界面美化   第8章 VisualC++2010MFC文本与字体   第9章 VisualC++2010MFC图形图像编程   第10章 VisualC++2010MFC动态函数链接库   第11章 VisualC++2010MFCActiveX控件   第12章 VisualC++2010MFC文件与注册表操作   第13章 VisualC++2010MFC数据库开发   第14章 VisualC++2010MFC多线程程序设计   第15章 VisualC++2010MFC网络程序设计   第16章 VisualC++2010MFC进程通信   第三部分 VisualC++2010下MFC与CLR进行开发   第17章 VisualC++2010CLR开发基础   第18章 VisualC++2010CLRWindows窗口编程   第19章 VisualC++2010MFC与.NET交互编程   第四部分 发布VisualC++2010程序   第20章VisualC++2010应用程序部署   第五部分 基于Windows7平台用VisualC++2010开发   第21章 VisualC++2010基于Windows7新特性开发

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧