使你的MFC程序具有win7的透明立体风格
如果你在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的透明立体风格相关推荐
- VS2010+WinXP+MFC程序 无法定位程序输入点于动态链接库
1.问题描述 原开发环境:Win7 64位旗舰版,VS2010,ThinkPad T460 出现问题:自己开发的MFC程序在WinXP环境下无法正常运行,弹框"无法定位程序输入点Initia ...
- MFC程序由本地转托管 /clr debug 无法调试
MFC程序由本地转托管后发现debug 无法调试,每次在加载mscorwks.dll后,紧接着加载msvcr80,然后程序就退出,返回-1, 尝试了几个小时,找到解决办法,记录如下: 1.用vs200 ...
- mfc程序转化为qt_工控编程,Qt 学习之路
Qt 是一个著名的 C++ 库--或许并不能说这只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI.使用 Qt,在一定程序上你获得的是一个"一站式"的服务:不再需要研究 ...
- MFC程序提示 0xC0000005: 读取位置 0x00000020 时发生访问冲突。
这个bug困扰我两天了,我在win7下开发的MFC程序,在win7下一只运行良好,放到同事的win10机子上就出问题了,在点击按钮弹出子窗口时必崩,在win7下仔细调试才发现:调用DoModal()后 ...
- mfc编程 孙鑫_孙鑫VC++视频教程笔记-(3)MFC程序框架的剖析 附1-SDI程序流程图
1,寻找WinMain人口: 在安装目录下找到MFC文件夹下的SRC文件夹,SRC下是MFC源代码. 路径:MFC|SRC|APPMODUL.CPP: _tWinMain(HINSTANCE hIns ...
- 在MFC程序中显示 JPG/GIF图像
如果你是一个使用VB编程的程序员,要在程序中显示JPG或者GIF图像简直易如反掌,将图像控件拖到Form中,分分钟即可搞掂.但是C++程序员要显 示同样的图形却没有那么轻松,那么是不是要自己编写JP ...
- 六、MFC 程序的生死因果 (学习笔记)
MFC程序的生死因果 项目HELLO 理想如果不向实际做点妥协,理想就会归于尘土. 中华民国还得十次革命才得建立,对象导向怎能把一切传统都抛开. 以传统的C/SDK 撰写Windows 程序,最大的好 ...
- MFC程序逆向 – 消息篇(上)+(下)
费尔托斯特:单用户终生版,费尔软件 杀毒软件 65.0元 标 题: [原创]MFC程序逆向 – 消息篇(上)+(下) 11楼 作 者: szdbg 时 间: 2007-10-31,06:26 链 ...
- 检查MFC程序的内存泄露
转载自:http://blog.csdn.net/netanimals/article/details/7454820 C/C++的一个重要特色是可以动态的分配和释放内存,我们的口号是new和dele ...
最新文章
- ACMNO.14一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数 输入 M N 输出 它在第N次落地时反弹多高?共经过多少米
- php获取地址栏id,如何解决php urldecode乱码问题
- tornado简单实现restful接口2
- UICountingLabel实现数字变化的动画效果-b
- python课程主要介绍哪些内容_Python课程详细介绍
- 北理在线作业c语言,北理线性代数在线作业-20210414115922.doc-原创力文档
- Spring MVC学习总结(14)——SpringMVC测试框架之mockMVC详解
- WinFom解决最小化最大化后重绘窗口造成闪烁的问题
- java有几大对象_一个 Java 对象到底有多大?
- 解决Tensorflow使用CPU报错
- Access to XMLHttpRequest at ‘url‘ from origin ‘null‘ has been blocked by CORS policy: Request header
- SILVACO 学习笔记第一章
- Verilog学习之求两个数的差值设计
- 【转】如何连接两台电脑同时上网
- VC 获取任务栏窗口的句柄
- VS2019运行OpenGL时出现的常见错误及解决办法
- Kaggle之泰坦尼克号(1)
- 高通骁龙855,麒麟980,A12,Exynos 9820芯片参数比较
- 【高等数学笔记】Stolz定理
- 视频号:CTO要不要写代码?阿里员工究竟挣多少钱?
热门文章
- ubuntu常用软件安装_机器学习_第一部分纯命令版本
- ERP财务报表快消失了?用它做财务系统根本不够用
- 帆软报表重要Activator之DesignerInitActivator之二
- java top类,Java8 Top Tips,java8toptips
- 运用高斯核模型进行最小二乘回归_数据科学 | 第8讲:模型选择与正则化
- pycharm关联python ide_Python+Selenium进阶版 (一)- Python IDE工具-PyCharm的安装和使用...
- 数据挖掘原理与算法 DBSCAN
- AcWing1088.旅行问题(单调队列DP)
- Python之list添加新元素
- ## CSP 201609-2 火车购票购买,C语言版(90分版)