C++按钮样式 20

上图这个是系统中默认的按钮,很美观这个是用C++编译程序后的按钮,怎样使它变成默认系统的按钮??就是RC文件中对话框的按钮... 上图这个是系统中默认的按钮,很美观

这个是用C++编译程序后的按钮,怎样使它变成默认系统的按钮??
就是RC文件中对话框的按钮
展开
 我来答
venusares
2013-08-25 · TA获得超过2626个赞
知道小有建树答主
回答量:543
采纳率:0%
帮助的人:768万
展开全部
恩,如果楼主是想要的Win.XP或者Win.7风格的按钮的话,需要做其它的处理才可以的。
一个Win32程序默认的设定是在运行时使用最老的,就是Win.97或者Win.03版本的按钮风格。这个不是代码本身的关系,而是应用程序在生成的时候指定要链接的控件库(ComCtl32.dll)是老版本的。
要想改变这种行为,只需要指定在运行时使用较新的控件库。
最简单的办法是在任意代码,通常是预编译的头文件(一般是stdafx.h)里加上这一段

#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif

其中 ,_M_IX86指的是32位目标平台,_M_X64指的是64位目标平台。
如果楼主想了解更多,自己搜索“清单文件”可以了解更多,以及了解更多解决这个问题的方法。

当然了,如果是MFC甚至是C#项目,它们默认就是最新风格的控件库,一般不需要做额外的处理。好吧,其实MFC是包含了上述代码的。
希望这个可以帮到被这个问题困惑的人们。

谢谢!
匿名用户
2012-11-11
展开全部
1.如果你确定是系统默认的按钮的话。可以使用API编程,通过调用API创建系统自带的控件。
CButton就只有如下的风格。你可以查查MSDN的Button Styles (Windows)就好了。
BS_3STATE,BS_AUTO3STATE,BS_AUTOCHECKBOXBS_AUTORADIOBUTTON,BS_CHECKBOX,BS_DEFPUSHBUTTON,BS_GROUPBOX,BS_LEFTTEXT,BS_OWNERDRAW,BS_PUSHBUTTON,BS_RADIOBUTTON,BS_USERBUTTON,BS_BITMAP,BS_BOTTOM,BS_CENTER,BS_ICON,BS_FLAT,BS_LEFT,BS_MULTILINE,BS_NOTIFY,BS_PUSHLIKE,BS_RIGHT,BS_RIGHTBUTTON,BS_TEXT,BS_TOP,BS_VCENTER,BS_SPLITBUTTON,BS_DEFSPLITBUTTON,BS_COMMANDLINK,

如果上述不能解决问题,建议导入windows32\comctl32.dll使用系统自带的按钮控件。

2.如果是系统美化,资源修改,外壳的话,那么只能通过使用其他UI库来改变外观。
推荐BCG,Qt,wtl,GuiToolkit,wxwidgets,Ultimate++.Adobe Source Library,skin++等等都可以(这些可以用百度搜索下载,就不贴地址了)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
whoami2099
2012-11-10 · TA获得超过175个赞
知道小有建树答主
回答量:463
采纳率:100%
帮助的人:171万
展开全部
这个需要重载CButton类,网上有很多实现。
http://baike.baidu.com/view/1579181.htm
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式