vs2010按钮样式好丑,怎么改?

supersuperhunter 2010-11-01 07:08:35
操作系统是win7,用vs2010,无论直接用createwindow创建还是直接拖到对话框里创建的按钮都好丑,都是98样式的,记得以前vs2008不会这样,怎么改呢?另外就是对话框在资源视图里预览时是没问题的,但是运行按钮就变丑了.参数什么的试了试,也没弄好
...全文
2120 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
little_樺_fish 2011-11-20
  • 打赏
  • 举报
回复
不好意思,回复了两次..
little_樺_fish 2011-11-20
  • 打赏
  • 举报
回复
先在资源所在的文件夹中,添加一下**.exe.manifest文件,然后在工程中add existing item,把这个导入到那个资源的文件夹中,在编辑状态下,把下面的内容放到里面去,"**"为你的工程名字.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<assemblyIdentity
name="**"
version="5.1.0.0"
type="win32"/>
<description>**</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
</application>
</compatibility>
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
little_樺_fish 2011-11-20
  • 打赏
  • 举报
回复
先在资源所在的文件夹中,添加一下**.exe.manifest文件,然后在工程中add existing item,把这个导入到那个资源的文件夹中,在编辑状态下,把下面的内容放到里面去,"**"为你的工程名字.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<assemblyIdentity
name="**"
version="5.1.0.0"
type="win32"/>
<description>**</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
</application>
</compatibility>
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
jialiang1989 2010-11-05
  • 打赏
  • 举报
回复
网上有很多皮肤插件、加入后,对所有控件美化
向立天 2010-11-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 supersuperhunter 的回复:]
搜到两个方法,但是都不行,一个是加上#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' la……
[/Quote]
win7+2010
用你这个#pragma comment的方法
有效果啊
向立天 2010-11-04
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 supersuperhunter 的回复:]

引用 19 楼 xianglitian 的回复:

引用 18 楼 supersuperhunter 的回复:

引用 17 楼 xianglitian 的回复:

引用 4 楼 supersuperhunter 的回复:
搜到两个方法,但是都不行,一个是加上#pragma comment(linker,"/manifestdependency:\"type='win32' nam……
[/Quote]
那是因为当选择Unicode字符集的时候stdafx.h启用了#pragma comment设置
supersuperhunter 2010-11-04
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 xianglitian 的回复:]

引用 18 楼 supersuperhunter 的回复:

引用 17 楼 xianglitian 的回复:

引用 4 楼 supersuperhunter 的回复:
搜到两个方法,但是都不行,一个是加上#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-……
[/Quote]
记得以前在xp下用2008是默认xp样式的
向立天 2010-11-04
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 supersuperhunter 的回复:]

引用 17 楼 xianglitian 的回复:

引用 4 楼 supersuperhunter 的回复:
搜到两个方法,但是都不行,一个是加上#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' proce……
[/Quote]
任何程序的默认样式都是经典样式
启用xp样式(或者说新系统的主题)需要连一个库
一般的方法就是加一个manifest
用#pragma comment就省着自己写manifest文件了
supersuperhunter 2010-11-04
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 xianglitian 的回复:]

引用 4 楼 supersuperhunter 的回复:
搜到两个方法,但是都不行,一个是加上#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publi……
[/Quote]
之前是加在cpp里的,刚刚试了加到stdafx.h里就行.但是为什么win7里默认是98样式的呢?
supersuperhunter 2010-11-03
  • 打赏
  • 举报
回复
难道没有其他用win7的人遇到这问题吗?我用了另外两个同学的win7电脑试了,也一样,标题栏什么的是win7风格,但是按钮什么的是98风格的
按钮就和这图片里的button1差不多
yann2 2010-11-02
  • 打赏
  • 举报
回复
检查一下你电脑的主题 选择主题为Windows XP 确定后在建立一个工程看看
supersuperhunter 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 muzizongheng 的回复:]

你的win7主题肯定是Basic的, 而不是aero的, 当然丑。
[/Quote]
我的是旗舰版,正版的家庭高级版升的,不升也有aero!何况我说的是按钮样式,aero对按钮有影响吗?即使有影响也不能让按钮变成98样式吧
[Quote=引用 10 楼 jackson35296 的回复:]

win7就直接用WPF了,谁还用MFC
[/Quote]
我没说过用MFC啊,一个是直接CreateWindow写的,另一个是对话框,也是sdk方式写的,以前用xp都没问题
[Quote=引用 12 楼 ilysony 的回复:]

纯GDI实现四态按钮

http://blog.csdn.net/ilysony/archive/2010/10/20/5954709.aspx
[/Quote]
为了实现xp风格按钮,用这个小题大做了吧
Sou2012 2010-11-02
  • 打赏
  • 举报
回复
纯GDI实现四态按钮

http://blog.csdn.net/ilysony/archive/2010/10/20/5954709.aspx
jackson35296 2010-11-02
  • 打赏
  • 举报
回复
win7就直接用WPF了,谁还用MFC
muzizongheng 2010-11-02
  • 打赏
  • 举报
回复
你的win7主题肯定是Basic的, 而不是aero的, 当然丑。
supersuperhunter 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yann2 的回复:]

检查一下你电脑的主题 选择主题为Windows XP 确定后在建立一个工程看看
[/Quote]
win7啊,没有xp主题,同学的win7用2008也一样很丑
supersuperhunter 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 muzizongheng 的回复:]

引用 13 楼 supersuperhunter 的回复:
引用 9 楼 muzizongheng 的回复:

你的win7主题肯定是Basic的, 而不是aero的, 当然丑。

我的是旗舰版,正版的家庭高级版升的,不升也有aero!何况我说的是按钮样式,aero对按钮有影响吗?即使有影响也不能让按钮变成98样式吧

引用 10 楼 jackson35296 的回复:

wi……
[/Quote]
开了,另外我依然觉得areo对按钮没影响,aero不就透明标题栏等再加个3d程序切换吗
muzizongheng 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 supersuperhunter 的回复:]
引用 9 楼 muzizongheng 的回复:

你的win7主题肯定是Basic的, 而不是aero的, 当然丑。

我的是旗舰版,正版的家庭高级版升的,不升也有aero!何况我说的是按钮样式,aero对按钮有影响吗?即使有影响也不能让按钮变成98样式吧

引用 10 楼 jackson35296 的回复:

win7就直接用WPF了,谁还用MFC

我没说过用MFC啊,一……
[/Quote]

我说的是系统主题,而不是你的windows版本,
我的意思是你的aero效果开了没, 还是应用windows 7 basic主题, 这个主题就是最丑陋的。 你可以看看你的主题设置是什么。
supersuperhunter 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fangongdalu7148 的回复:]

在 STDafx.H中 去掉 那些 XML。
[/Quote]
什么意思,没有xml文件啊,stdafx.h是默认生成的,如下

// stdafx.h : 标准系统包含文件的包含文件,
// 或是经常使用但不常更改的
// 特定于项目的包含文件
//

#pragma once

#include "targetver.h"

#define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的信息
// Windows 头文件:
#include <windows.h>

// C 运行时头文件
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>


// TODO: 在此处引用程序需要的其他头文件




"targetver.h":


#pragma once

// 包括 SDKDDKVer.h 将定义可用的最高版本的 Windows 平台。

// 如果要为以前的 Windows 平台生成应用程序,请包括 WinSDKVer.h,并将
// WIN32_WINNT 宏设置为要支持的平台,然后再包括 SDKDDKVer.h。

#include <SDKDDKVer.h>
supersuperhunter 2010-11-01
  • 打赏
  • 举报
回复
搜到两个方法,但是都不行,一个是加上#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
另一个是在项目属性里的清单文件里的附加依赖项里加东西,也不行;
还有,我刚用同学的2008试了,也不行,看来好像是win7的问题
到底怎么改呢?
加载更多回复(3)
[更新列表] ------------------------------------------------------------------------------------------------ v2.1.1 1、修复IE6静止定位的对话框导致页面变长的问题 v2.1.0 1、 增加menuBtn参数, 支持让对话框在指定元素附近弹出(菜单模式) 2、 剔除鸡肋参数'parent',框架相互调用请用javascript原生方法 3、 剔除对话框关闭后回调函数,如果需要使用请使用内置扩展方法 4、 如果有取消按钮回调函数,那关闭按钮的回调函数也将与其相同 5、 增加当出现多个对话框时让顶层的与众不同的特性 6、 让Esc键关闭最高层对话框 7、 锁屏的时候用js屏蔽页面滚动功能,取消原来CSS隐藏滚动条,防止页面偏移 8、 给确定按钮增加Ctrl + Enter快捷键,锁屏的时候支持tab与方向键切换按钮焦点 9、 锁屏的时候屏蔽了键盘操作刷新、Tab切换(只在对话框中可用)与全选 10、修复Chrome特定情况下出现的iframe错位问题 11、修正2.0.8版本后锁屏不兼容Safari的问题 12、修复Firefox调大对话框拖帧的现象 13、修复拖动对话框时候可能因鼠标置入iframe窗口而导致鼠标被粘住的问题 14、修复了内部$.newId方法的一处错误,特定情况下导致定义了ID的对话框无法弹出 15、删除脚本对IE6 png bug内置支持,之前测试版本自动修复ie6 png皮肤是因为作者偷懒 16、修aero皮肤CSS、针对IE6单独兼容,减少之前脚本修复png占用过多的客户端资源 17、默认皮肤为前版的mini,没有使用任何背景图片,完全用css表现 18、修复一处隐秘BUG:当使用Ctrl+回车提交表单并弹出对话框时导致弹出新窗口 (因为此时焦点在对话框关闭链接上,这个快捷键让很多浏览器新建窗口) 19、重新绘制'earo'皮肤,修复毛边的问题 20、修复拖动的时候出现选中文本的现象(自动清除选择) 21、如果对话框高度超过浏览器视口的一半高度则不使用黄金比例垂直居中 22、修复了IE7通过url参数创建的iframe可能出现边框线的小问题 23、为了后续版能够提更多接口(小巧而强大的),想了很久狠心了调用名:art.dialog(); 24、既然连入口都了,那再下配置名(为了后续可能的拓展): 'url'参数名为'iframe' 25、可以自适应iframe内容的大小(不跨域的前提下) 26、对超过预设面积大小的对话框拖动自动采用替身的方式,以求拖动更流畅 27、新增加一个'data'的接口,它保存了你对话框每次创建的消息对象 (操作iframe消息将更加方便,如提交iframe表单。稍后添加更多的例子..) 28、对于简单的消息可以使用简写: artDialog('hello world') 29、让IE6支持覆盖下拉控件的同时也支持透明皮肤 30、优化锁屏渐变动画 31、修复范围限制函数没有生效的错误 32、修复一处笔误,忘记声明变量导致泄漏出去污染全局 v2.0.9 1、 优化代码结构,弹出后仍可访问内部方法(如关闭),大大增强了灵活性 2、 修正IE7锁屏的时候滚动条没有禁止的问题 3、 让焦点自动附加到确定按钮或者关闭按钮 v2.0.8 1、 修正超大对话框并使用定位时候可能被截取的BUG 2、 修复Opera无法正确处理对话框叠加高度(z-index)的BUG 3、 修复Opera设置坐标时候出现的变形BUG v2.0.7 1、 url参数加载外部页面的时候显示loading动画 2、 预加载皮肤背景图片 3、 优化拖动 v2.0.6 1、 解决页面载入即弹出的情况造成水平对齐不正常的BUG(主要是dom ready事件 绑定) 2、 增加parent参数,支持对话框穿越框架在父页面弹出 v2.0.5 1、 剔除yesClose参数,如果要点击确定或者取消按钮不自动关闭对话框,让回调 函数返回false即可 2、 更x参数名为left,y为top,为后续版本拓展right与bottom参数需要 3、 修皮肤aero和chrome的图标布局,让回行消息文本留出图标的宽度 v2.0.4 1、 修一小处兼容框架样式,防止调用页面body设置了文本对齐导致对话框标题文 本也居中 v2.0.3 1、 增加id参数,可以方便外部脚本控制整个对话框,同时可防止对话框重复弹出 2、 增加yesClose参数,用于阻止对话框点击确定后自动关闭 v2.0.0 ...

15,979

社区成员

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

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