VC程序界面:如何让UI支持XP风格

通过Visual C++实现XP风格界面的完整指南 XP风格窗体界面,也被称作视觉样式,是Windows XP系统推出的一种用户界面风格。这种风格以平滑的边缘、半透明的视觉效果、渐变颜色为特征,为用户提供了更为美观和人性化的界面体验。在早期的Windows版本中,界面样式较为单一,缺乏个性化,而XP风格的出现,让应用程序的外观更加符合现代审美标准。在Windows操作系统中,Manifest文件是一个XML格式的文档,用于描述程序集的元数据信息,包括程序集的依赖关系、版本信息、权限需求等。 阅读详情

什么是XP风格?

XP风格就是通过给控件加一些特效(例如:边界圆角化)达到美化界面的效果。

image

下图是去除XP风格的UI效果。

image

XP风格是如何实现?

XP风格的UI效果是由Microsoft.Windows.Common-Controls提供的一种实现,为了拥有这种效果,你需要让你的程序依赖于Microsoft.Windows.Common-Controls这个组件。微软提供了Manifest来让让我们声明这种依赖。

   1:  #if defined _M_IX86
   2:  #pragma comment(linker,"/manifestdependency:/"type='win32' 
                      name='Microsoft.Windows.Common-Controls' 
                      version='6.0.0.0' processorArchitecture='x86' 
                      publicKeyToken='6595b64144ccf1df' language='*'/"")
   3:  #elif defined _M_IA64
   4:  #pragma comment(linker,"/manifestdependency:/"type='win32' 
                       name='Microsoft.Windows.Common-Controls' 
                       version='6.0.0.0' processorArchitecture='ia64' 
                       publicKeyToken='6595b64144ccf1df' language='*'/"")
   5:  #elif defined _M_X64
   6:  #pragma comment(linker,"/manifestdependency:/"type='win32' 
                        name='Microsoft.Windows.Common-Controls' 
                        version='6.0.0.0' processorArchitecture='amd64' 
                       publicKeyToken='6595b64144ccf1df' language='*'/"")
   7:  #else
   8:  #pragma comment(linker,"/manifestdependency:/"type='win32' 
                       name='Microsoft.Windows.Common-Controls' 
                       version='6.0.0.0' processorArchitecture='*' 
                       publicKeyToken='6595b64144ccf1df' language='*'/"")
   9:  #endif

 

Visual Studio 2008生成的VC程序在stdafx.h中已经加入上面这种依赖。但是如果你是从VC6.0升级到VC9.0你就要自己添加这些依赖

ref:http://www.codeguru.com/forum/archive/index.php/t-408061.html

VC6开发的360风格杀毒界面源码,支持运行时多皮肤切换 基于Visual C++ 6.0和标准MFC框架实现的仿360杀毒软件UI工程,包含完整主对话框、自定义位图按钮控件(MyBmpButtonDll.dll)、三套预置皮肤资源(skin2.rar/skin3.rar等)、XP视觉样式清单(XPStyle.manifest)及配套位图(ssfh.bmp/cpsj.bmp/aa.bmp)。所有界面元素均使用原生MFC类封装,不依赖第三方库,可直接在VC6环境中加载.dsp项目文件编译运行。支持程序运行中动态加载不同皮肤资源,换肤逻辑清晰,配套提供《换肤说明.tx 阅读详情

相关推荐

VC6下可直接编译的Office风扁平化下拉框源码(含完整MFC工程与自绘控件实现)

提供一套开箱即用的Visual C++ 6.0界面美化资源,核心是模仿Microsoft Office UI风格的扁平化ComboBox控件。整个包包含可直接加载编译的.dsw/.dsp工程文件,主框架类(MainFrm)、视图类(ChildView)、对话框类(MyDlg、VCKBASEDlg)及多个关键自定义控件源码:CoolTabCtrl用于标签页样式支持,sizecbar和scbarg实现可缩放状态栏与工具栏联动逻辑。配套资源齐全,含Toolbar.bmp、bug.bmp位图及icon1.ico/i

plum99的博客 194

xp-ui:X平台的UI组件库

XP界面 XP平台的UI组件库。 要求 您需要安装: 开始吧 nvm use v9.3.0 npm install npm start 实时预览 在master分支中构建的最新Storybook规范页面可在进行预览 在develop分支之外构建的最新Storybook规范页面可在进行预览 时尚指南 贡献 阅读,以了解我们要追求的原则。

VC6写的学籍请假系统:带Access数据库和完整MFC对话框源码

用Visual C++ 6.0开发的学生请假管理程序,后端直接对接Access数据库(data.mdb),通过ADO方式读写数据,不依赖SQL Server或其他大型数据库。登录界面验证账号密码,主界面支持新增请假记录、按姓名/日期/事由条件查询、双击编辑已有条目、删除无效申请。所有UI基于MFC对话框实现,含LoginDlg、AddDlg、SearchDlg、HolidaysDlg四个核心对话框类,菜单采用Office XP风格,图标资源齐全(.ico文件已内置)。工程包含完整.dsw和.dsp文件,可直

gpt4scribbler的博客 200

c#脱离framework运行教程

从四年前刚学C#时就一直想找到一种方法可以让.Net程序在未安装framework的电脑上运行,但一直没有找到真正可用的。虽然有些公司发布了可以将.net代码编译成navtive代码以脱离.net环境运行,如Remotesoft DOTNET Linker,Xenocode Postbuild等,但一直没有破解版,用它们编译的程序每次运行会添出个版权信息。最近偶然发现一种方法可以做到真正使程序脱离.net环境运行且没有任何版权信息添出,现将使用方法、源代码、测试程序发布于此: 请首先在文章末尾下载测试程序,是一个用C#做的串口工具,下载解压后有两个文件夹(FrameWork和APP)和一个程序(串口工具.exe),在APP文件夹下有一个名为9527.exe的程序,这个是C#真正的“串口工具.exe”,而主目录下的串口工具.exe只是一个Loader程序,它运行后首先判断电脑上有没有安装framework,若有,则直接启动APP下的9527.exe程序;若无,则通过framework虚拟机(FrameWork下的VM.exe(其实是飞信框架里的FetionVM.exe,修改了它的图标和版权,想改成其它的大家可以用VC改一下,有网友强列要求指出这一点,想不明白为什么,呵呵,让指出就指出吧,还要求指出调用的方法,,其实我连源程序都公布了,用说的这么明白吗))启动9527.exe程序。Loader程序不会打开任何窗口,并在启动真正应用程序后立即退出。Loader程序主函数(VC6.0编写)的代码如下:  主函数: int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { TCHAR fwVersion[VERSION]; if(CheckRegistryKeyExistance(fwVersion)) { if(CompareFWVersions(fwVersion, "2.0"))//最低版本要求2.0 { RunApplication(".\\app\\9527.exe");//直接运行 } else { //应用程序放在APP目录下,要启动的程序的名字为9527.exe, //9527周星弛在《唐伯虎点秋香》的代号,呵 RunApplication(".\\FrameWork\\VM.exe \".\\app\\9527.exe\"");//通过虚拟机运行 } } else { RunApplication(".\\FrameWork\\VM.exe \".\\app\\9527.exe\"");//通过虚拟机运行 } return 0; } 判断是否安装的代码就不贴出来了,可以在文章末尾下载整个VC6的工程文件看。 下面总结一下如何使用: 1. 下载我的例子程序 2. 清空APP下的所有文件 3. 把你自已的.net可执行程序和相关文件全部复制到APP下,并将可执行程序的名字改为9527.exe (不喜欢这个名字可以修改Loader程序重新编译) 4. 把主目录的“串口工具.exe"名字改成任何你想要的名字。(要改图标的话,建议下载我的Loader源程序,修改后重新编译) 大功告成,拿到一台没装.net的电脑上试试吧。祝好运。

c# 中实现 winxp 风格的控件(超简单-zz)

环境:winxp, vs.net2003方法如下:第一步:在 Main() 函数中加一条语句:static void Main(){    Application.EnableVisualStyles();    // 增加这条语句    Application.Run(new Form1());}第二步:选择希望使用 winxp 风格的控件,在属性中找到 FlatStyle,设置为 System

dsing的专栏——学海无边 回头是岸 1240

从函数式编程到声明式UI

1.声明式UI的现状 早期的前端UI一直使用HTML+CSS+JavaScript这一经典的开发范式。HTML和CSS负责页面的布局和样式,JavaScript负责逻辑,命令式地操作Dom完成各种行为。之后不断涌现出的JQuery等各种组件库,也只是围绕Dom的操作进行了一些封装,并没用改变这种命令式操作Dom的模式。 直到React的出现,创造性地提成了声明式UI的概念才彻底颠覆了命令式的开发...

移动端开发干货分享 3534

WINDOWSXP主题风格美化教程

桌面主题     一个XP的桌面主题可以包含好几个部分 风格、壁纸、屏保、鼠标指针、系统声音事件、图标     除了风格是必须的之外 其他部分都是可选的 风格可以定义的内容是大家在Windows里所能看到的一切     例如窗口的外观、字体、颜色 按钮的外观等等等等 一个桌面主题里风格就决定了大家所看到的Windows的样子     大家可以打开 X:/Windows/Resources/Them

Comman1999 7465

Visual Studio 2008 Windows XP 风格的实现

Visual Studio 2008中VC Windows XP 风格的实现 一.概要  Windows XP开创了一种全新的Windows用户界面(UI),这种用户界面给用户一种现代化的、超时髦的感受。Windows XP新创了闪亮的具备圆形边角的控件连同极富未来派气息的进度条等具备新风格的控件。  而现在的Visual Studio也具备了此类控件。那么...

weixin_33961829的博客 202

GUI图形用户界面开发助手Prof-UIS

Prof-UIS用于帮助VC程序员们在开发当今最急需的GUI(图形用户界面)工具中节省大量的时间。这使得Prof-UIS成为一个GUI(图形用户界面)开发中的一个非常有用的工具。 常见特征: 其他 实时可变的Microsoft Office 2000, XP 和 2003 风格外观Visual Studio .NET风格的可调大小control bar(控制栏), 可在拖动/改变

报表控件 894

VC界面库BCGControlBar和Xtreme Toolkit详细对比评测

概述:如今对软件界面的要求越来越高,如用Delphi、VS2008等开发底层的应用程序时,效率远不如VC++。虽然Visual Studio集成了一些MFC的类库,但是这些只是基础应用,并不能满足大多数高级用户需求,好在有很多优秀的第三方VC界面库为我们打开了一扇窗,大部分只需要简单的部署就可以实现非常绚丽的界面效果,真可谓事半而功倍。笔者最近项目中正好要用到VC界面库,于是在网上搜索一下,发现以...

《好好先生》专栏 2479

C# Windowns XP 风格导航栏

C#winform可折叠的导航栏菜单 windows窗体的左侧也放一个类似于"工具箱"的控件,起到一个导航菜单的作用.在这个菜单中有几个主菜单,当用户单击其中一个主菜单时,其下的子菜单就会显示出来,而当用户单击另外的主菜单时,先前展开的菜单就会合并起来(或称隐藏起来)就像.net的"工具箱"一样.

VC++自制的XP风格按钮全部代码

内容索引:VC/C++源码,界面编程,按钮  VC++自制的XP风格按钮完整源代码,全部C++代码实现, 没有用到任何三方插件。仿XP按钮虽然有点过时了,但对编程新手还是有帮助的,如果搞懂了仿XP,接下来就可以仿VISTA了,呵呵。

VC常用几种界面库的选择

<br />    开发的程序需要使用贴图的就用LibUIDK,像做千千静听、MSN、QQ之类支持换肤功能的界面;<br />    如果是想在做完程序后,把界面中的控件换成XP的那种风格,尤其对于做对话框程序,SkinMagic,Skin都可以;<br />    如果想做成Office、Outlook等,用BCG或Xtreme toolkit;

zhangxinrun的专栏 1333

DirectUI和无窗口用户界面

DirectUI/DirectUser是一个用户界面框架(http://msdn.microsoft.com/en-us/library/system.windows.automation.automationelement.automationelementinformation.frameworkid.aspx)。用Spy++可以在MSN Messenger、Windows XP、Office

蒋晟的专栏 3万+

VC编程的界面库选择

  开发的程序需要使用贴图的就用LibUIDK,像做千千静听、MSN、QQ之类支持换肤功能的界面;  如果是想在做完程序后,把界面中的控件换成XP的那种风格,尤其对于做对话框程序,SkinMagic,Skin都可以;  如果想做成Office、Outlook等,用BCG或Xtreme toolkit; 

269

C++复刻FC重装机兵:VC6/VC8源码工程深度解析与编译调试

在游戏开发学习中,理解经典游戏引擎的实现原理是提升技能的重要途径。C++作为底层性能利器,常被用于还原老式主机游戏逻辑。本文以一份使用VC6/VC8编译的FC《重装机兵》复刻工程为例,剖析其工程结构与核心模块:从主循环与帧同步,到Tile地图渲染、精灵管理和音频模拟。通过源码可见老式编译器下的代码组织方式,以及直接操作内存、手动控制波形合成等基础技术。同时,文章梳理了老编译器在新系统上常见的链接错误、结构体对齐问题与调试技巧。对于怀旧玩家和C++初学者,这份源码提供了从编译原理到游戏引擎实现的可感案例,也为

weixin_27033895的博客 270
上一篇: How to set a breakpoint on a property within a third-party managed component?
下一篇: Transfer task to action
wswms
博客等级 码龄23年 14粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值