如果你在win7下用visual studio编译生成别人的MFC项目,你会发现生成的程序窗口没有win7的窗体风格,按钮没有立体感,窗体边框不透明,感觉就像win2000的风格

如图下(一个简单的端口扫描程序)

      

但是,你总觉得不好看,而自己写的程序生成的才窗口却有win7的风格,这个怎么破了?(具有win7风格的,如图下)

  

声明一下,如果你是用visual studio 2012 写的MFC的项目,同时你的项目属性上选择的是“多字节字符集”的话,效果就是同图一,而你选择的是“unicode字符集”的话,生成的窗口属性,可能就有win7的风格了。但是,你又想选择多字节的字符集(MBCS),而又想有win7的风格,那如何下手了?

首先引用一下msdn的说明http://msdn.microsoft.com/en-us/library/bb773175(v=VS.85).aspx

1.首先介绍一个最简单的方法,就是在你的代码前面加入下面的编译杂注,不过你的IDE一定要为vs2005或以后的版本

#pragma comment(linker,"\"/manifestdependency:type='win32' \
name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")

编译运行即可········

2.还有一个就是使用清单文件的方法,新建一个文本文件,改名为*.manifest,粘贴下面的xml文本

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentityversion="1.0.0.0"processorArchitecture="*"name="CompanyName.ProductName.YourApplication"type="win32"
/>
<description>Your application description here.</description>
<dependency><dependentAssembly><assemblyIdentitytype="win32"name="Microsoft.Windows.Common-Controls"version="6.0.0.0"processorArchitecture="*"publicKeyToken="6595b64144ccf1df"language="*"/></dependentAssembly>
</dependency>
</assembly>

 保存后,在项目属性中——清单工具——输入输出,选择你对应的.manifest文件,建议放到res/文件夹下,或者选择插入指定的资源文件

(详见http://blog.sina.com.cn/s/blog_616d3ec20100zuwl.html)

两种方法都可以实现win7的风格,不过根据微软的说明,你必须有ComCtl32.dll version 6或更高版本( 一般来说动态dll的加入不需考虑)

方便的话,推荐第一种方法(第二种我试的时候有bug,程序有时会莫名的崩溃,而第一种运行相当稳定,按道理两者本质应该一样········)

转载于:https://www.cnblogs.com/fbwfbi/archive/2013/05/21/3091015.html

使你的MFC程序具有win7的透明立体风格相关推荐

  1. VS2010+WinXP+MFC程序 无法定位程序输入点于动态链接库

    1.问题描述 原开发环境:Win7 64位旗舰版,VS2010,ThinkPad T460 出现问题:自己开发的MFC程序在WinXP环境下无法正常运行,弹框"无法定位程序输入点Initia ...

  2. MFC程序由本地转托管 /clr debug 无法调试

    MFC程序由本地转托管后发现debug 无法调试,每次在加载mscorwks.dll后,紧接着加载msvcr80,然后程序就退出,返回-1, 尝试了几个小时,找到解决办法,记录如下: 1.用vs200 ...

  3. mfc程序转化为qt_工控编程,Qt 学习之路

    Qt 是一个著名的 C++ 库--或许并不能说这只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI.使用 Qt,在一定程序上你获得的是一个"一站式"的服务:不再需要研究 ...

  4. MFC程序提示 0xC0000005: 读取位置 0x00000020 时发生访问冲突。

    这个bug困扰我两天了,我在win7下开发的MFC程序,在win7下一只运行良好,放到同事的win10机子上就出问题了,在点击按钮弹出子窗口时必崩,在win7下仔细调试才发现:调用DoModal()后 ...

  5. mfc编程 孙鑫_孙鑫VC++视频教程笔记-(3)MFC程序框架的剖析 附1-SDI程序流程图

    1,寻找WinMain人口: 在安装目录下找到MFC文件夹下的SRC文件夹,SRC下是MFC源代码. 路径:MFC|SRC|APPMODUL.CPP: _tWinMain(HINSTANCE hIns ...

  6. 在MFC程序中显示 JPG/GIF图像

    如果你是一个使用VB编程的程序员,要在程序中显示JPG或者GIF图像简直易如反掌,将图像控件拖到Form中,分分钟即可搞掂.但是C++程序员要显  示同样的图形却没有那么轻松,那么是不是要自己编写JP ...

  7. 六、MFC 程序的生死因果 (学习笔记)

    MFC程序的生死因果 项目HELLO 理想如果不向实际做点妥协,理想就会归于尘土. 中华民国还得十次革命才得建立,对象导向怎能把一切传统都抛开. 以传统的C/SDK 撰写Windows 程序,最大的好 ...

  8. MFC程序逆向 – 消息篇(上)+(下)

    费尔托斯特:单用户终生版,费尔软件 杀毒软件 65.0元   标 题: [原创]MFC程序逆向 – 消息篇(上)+(下) 11楼 作 者: szdbg 时 间: 2007-10-31,06:26 链 ...

  9. 检查MFC程序的内存泄露

    转载自:http://blog.csdn.net/netanimals/article/details/7454820 C/C++的一个重要特色是可以动态的分配和释放内存,我们的口号是new和dele ...

最新文章

  1. ACMNO.14一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数 输入 M N 输出 它在第N次落地时反弹多高?共经过多少米
  2. php获取地址栏id,如何解决php urldecode乱码问题
  3. tornado简单实现restful接口2
  4. UICountingLabel实现数字变化的动画效果-b
  5. python课程主要介绍哪些内容_Python课程详细介绍
  6. 北理在线作业c语言,北理线性代数在线作业-20210414115922.doc-原创力文档
  7. Spring MVC学习总结(14)——SpringMVC测试框架之mockMVC详解
  8. WinFom解决最小化最大化后重绘窗口造成闪烁的问题
  9. java有几大对象_一个 Java 对象到底有多大?
  10. 解决Tensorflow使用CPU报错
  11. Access to XMLHttpRequest at ‘url‘ from origin ‘null‘ has been blocked by CORS policy: Request header
  12. SILVACO 学习笔记第一章
  13. Verilog学习之求两个数的差值设计
  14. 【转】如何连接两台电脑同时上网
  15. VC 获取任务栏窗口的句柄
  16. VS2019运行OpenGL时出现的常见错误及解决办法
  17. Kaggle之泰坦尼克号(1)
  18. 高通骁龙855,麒麟980,A12,Exynos 9820芯片参数比较
  19. 【高等数学笔记】Stolz定理
  20. 视频号:CTO要不要写代码?阿里员工究竟挣多少钱?

热门文章

  1. ubuntu常用软件安装_机器学习_第一部分纯命令版本
  2. ERP财务报表快消失了?用它做财务系统根本不够用
  3. 帆软报表重要Activator之DesignerInitActivator之二
  4. java top类,Java8 Top Tips,java8toptips
  5. 运用高斯核模型进行最小二乘回归_数据科学 | 第8讲:模型选择与正则化
  6. pycharm关联python ide_Python+Selenium进阶版 (一)- Python IDE工具-PyCharm的安装和使用...
  7. 数据挖掘原理与算法 DBSCAN
  8. AcWing1088.旅行问题(单调队列DP)
  9. Python之list添加新元素
  10. ## CSP 201609-2 火车购票购买,C语言版(90分版)