VC 界面库皮肤库

VC 界面库皮肤库
      CJLib(mfc扩展开发包,是xtreme toolkit的前生,但xtreme toolkit收费了)
      http://www.codejock.com/
      BCGControlBar(收费,mfc扩展开发包,功能很强大)
      http://www.bcgsoft.com
      SkinMagic(收费,看起来像Office)
      http://appspeed.com/html/download.html
      AppFace(收费,支持 mfc ,VCL,ATL , WTL 框架 )
      http://www.appface.com/chs/index.htm
      SKin++(收费,界面很好看)
      http://www.uipower.com/
      USkin(收费,界面很好看)
      http://www.neemedia.com/
      SYGUI(收费,mfc扩展框架)
      http://www.sygui.com/
      LibUIDK(部分免费,不开源,效果好,适合贴图)
      http://www.iuishop.com/download.htm
      GuiToolkit(开源,mfc扩展框架)
      http://www.beyondata.com/default.htm
      GardenUI(免费,界面效果挺好的,XML,代码界面分离)
      http://www.gardenui.com/
      几种免费的界面库及其用法
      MFC的标准界面给程序员带来了一定的便利,但也使得用户总是抱怨Windows的界面非常的糟糕,于是各种各样的界面库诞生了,从金山瑞星等公司的一系列的软件来看,他们就有自己的界面库。好的界面库使用起来非常简单,就如QQ的换肤功能,转眼间使得软件面貌一新。
      一个好的界面库可以大大降低编程的复杂程度,提高开发速度,保证软件风格的一致性。为了DVBAres的开发,我考察了几种(免费)界面库。
      1。AppFace。
      AppFace在一部分软件开发者的好评,因为它的使用实在是简单,而且稳定性和效率都不错,而且对于个人用户还有免费条款,因此中文页面上的介绍比较多。
      这一款软件在其0.x版本上还是免费的,到目前的版本上已经不免费了,只提供90天的试用期。

      2。MenuXP
      MenuXP这个界面库只能作出仿OfficeXp风格的界面,使用起来也算简单,而且很关键的一条,它是免费的。
      参考网址:http://www.codeproject.com/menu/menuxp2.asp

      3。CJ60。
      CJ60原名为MFC的扩展库,是世界著名的界面库,网上有较多的源代码下载,不过这个扩展库的使用是针对MFC标准控件的,如果要研究这个界面库,则可以参考《VC++界面一揽子方案》,其中的说明文档对这些界面控件有较好的描述。

      4。BCG。
      专业版是一套非常好的MFC扩展界面库!可以帮助你在编程时轻松制作出非常漂亮专业的自定义界面!提供100多种界面,很容易经过我们自己的重新设计组合成满意的效果。缺点是复杂,使用起来需要一个学习的过程。
      通过网上查询,发现可用的免费的较好的界面库非常少,大部分的曾经免费的界面库都已经商业化。不过武爱敏手上正好有一个较老的界面库,测试了一下,效果还可以,于是终止了费力的调查。
      AppFace的介绍
      AppFace For VC
      支持Win9X/NT/2K/XP,UNICODE/ANSI,能够对目标进程里的所有Widows标准控件,系统菜单,通用对话框等实现换肤,对非商业用途而言,它是完全免费的。关键的是AppFace的使用非常简单,很容易添加到已有的工程中。我使用的是
      0.2 版,你也可以到它的网站 http://www.appface.com 去下载最新版本。
      运行效果图如下:

      AppFace 支持三种皮肤加载方式,从磁盘文件加载,从资源加载,从内存加载。下面我就说说如何从资源加载URF皮肤文件:

      首先,要确保你下载了AppFace for VC 开发包,我们要用到其中的三个文件: "appface.h", "appface.dll"
      ,"gtclassic.urf" 。

      接着,创建一个 VC 可执行文件工程, MDI/SDI/DIALOG/WIN32 类型的都可以,我以创建一个DIALOG 工程 ResSkin
      进行说明。将"appface.h"
      拷贝到该工程目录下,将"Appface.dll"拷贝到该工程的输出目录下,例如:"debug\",将"gtclassic.urf"拷贝到资源所在目录下。在VC
      的项目管理器中进入资源管理项,在右键菜单中选择"Import",将"gtclassic.urf"添加进工程,资源类型设定为:
      "MYRESTYPE",资源ID设定为"IDR_MY_URF"。注意:资源ID 前面一定要加双引号 。

      准备工作全部完成了,现在进入正题:
      1.在ResSkin.cpp 中加入: #include "appface.h"
      2.在CResSkinApp::InitInstance() 成员函数中添加如下代码
      CResSkinApp::InitInstance()
      {
      ...
      CAppFace af ; //line 1
      af.Start(_T("IDR_MY_URF"),GTP_LOAD_RESOURCE,NULL,_T("MYTYPE"),NULL) ;
      //line 2
      CResSkinDlg dlg;
      m_pMainWnd = &dlg;
      int nResponse = dlg.DoModal();
      ...
      af.Remove() ; //line 3
      }
      编译... 一切搞定 !
      3. 上面是官方的做法,由于appface 也支持从内存中加载urf,所以您也可以这样做:
      CResSkinApp::InitInstance()
      {
      ...
      CAppFace af ; //Init
      //Load
      if(HRSRC hr = ::FindResource(NULL,"IDR_MY_URF","MYTYPE"))
      {
      ULONG nResSize = ::SizeofResource(NULL,hr) ;
      if(HGLOBAL hz = ::LoadResource(NULL,hr))
      {
      char* p = (char*)LockResource(hz);
      if(p)
      af.Start(p,GTP_LOAD_MEMORY,nResSize,NULL,NULL) ;
      }
      }
      CResSkinDlg dlg;
      m_pMainWnd = &dlg;
      int nResponse = dlg.DoModal();
      ...
      af.Remove() ; //Release
      }
      你可以使用这种方法从资源中加载其它数据。

      需要注意的是: 如果将URF添加进资源时,资源ID没有用双引号括起来, 加载时必须这样写:
      af.Start(_T("IDR_MY_URF"),GTP_LOAD_RESOURCE,NULL,MAKEINTRESOURCE(_T("MYTYPE")),NULL))
      ; //line 2
      四、结束语:
      也尝试过使用其它的界面开发库,感觉AppFace是最容易使用的,加载速度最快,稳定性也不错。不过它的免费版只提供了三个urf皮肤文件,略为有些遗憾。欢迎转载。
      MenuxP的使用方法
      随着Windows XP和Office XP的推出,兼具华美和清爽气质的Office
      XP界面风格也逐渐取代了Windows经典界面风格而成为了当前应用程序的流行“时装”,因而如何使自己的应用程序拥有Office
      XP风格的界面也成为了广大程序员感兴趣的问题。为此法国程序员Jean-Michel LE FOL针对于Visual
      C++编写了CMenuXP类,使用CMenuXP类就可以轻松使自己的应用程序拥有Office
      XP风格的界面。下面我就以详细介绍一下使用CMenuXP的步骤。
      首先新建一个名叫“SDIXP”的单文档的MFC应用程序。在我们能使用CMenuXP之前,必须进行一下几步操作:
      1.        将CMenuXP的源文件和头文件所在的文件夹(一般放在名叫“Tools”)放到SDIXP源文件的目录下。
      2.        将Visual
      C++切换到“文件视图(FileView)”,加入CMenuXP的源文件和头文件。具体可以这样进行:在FileView的树状目录下,展开SDI
      files,在Source Files目录上点击右键,创建新目录(“New
      Folder…”),不妨取名叫“Tools”,再在Tools目录上点击右键,选择加入文件(“Add Files to
      Folder…”),将Tools文件夹下的所有源文件(*.cpp)全部加进来。同理,在文件视图的Header Files目录下新建一个叫做“Tool
      Headers”,再将Tools文件夹下的所有头文件(*.h)全部加到Tool Headers目录里。
      3.        (1)在控制菜单的类的头文件(对于SDI程序通常是MainFrm.h)里加入所需要的CMenuXP类的头文件名:
             #include "Tools/MenuXP.h"
             #include "Tools/ToolBarXP.h"
             #include "Tools/StatusBarXP.h"
             #include "Tools/ComboBoxXP.h"
      再在MainFrm.h里加入下面的宏:
             DECLARE_MENUXP()
      上述语句可以加在CMainFrame类声明里的宏定义“DECLARE_MESSAGE_MAP()”的后面。
      (2)在控制菜单的类的源文件(MainFrm.cpp)里加入:
             IMPLEMENT_MENUXP(类名, 基类名);
                 对于SDI工程就是
             IMPLEMENT_MENUXP(CMainFrame, CFrameWnd);
      上述语句加在CMainFrame开头的“IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)”后面。
                 (3)接着继续在消息映射里如下加入:
             BEGIN_MESSAGE_MAP(className, baseClass)
             // ...
              ON_MENUXP_MESSAGES() //加入这一行
             END_MESSAGE_MAP()

      (4)在继承于CWinApp的类(这里就是CSDIXPApp)中的InitInstance()函数里加入:
             CMenuXP::InitializeHook();
      可以加在“AfxEnableControlContainer();”语句后面。
      然后再为CSDIXPApp类重载ExitInstance()函数,可以在“类视图(ClassView)”里点右键加入。再在ExitInstance()函数里加入:
             CMenuXP::UninitializeHook();

      以上步骤做完之后可以按F7编译一下,如果一切没有问题我们就可以开始使用CMenuXP来美化我们的菜单和工具栏了。
      首先,我们来将菜单和菜单项XP化。这很简单,只要在CMainFrame:: OnCreate()函数里加入:
         CMenuXP::UpdateMenuBar(this);
         CMenuXP::SetXPLookNFeel(this);
      就OK了。现在你编译运行一下,看看你的程序菜单是不是改头换面了?
      如果你想为自己菜单项定制图标,我们可以用CMenuXP::SetMenuItemImage (UNIT nID, HIMAGELIST
      hImgList, int
      nIndex)函数来实现。为此,我们新建一个菜单“水果”和菜单项“苹果”(ID设置为ID_MENUITEM_APPLE),打开ClassWizard为ID_MENUITEM_APPLE添加消息处理函数OnMenuitemApple()。然后再导入一个位图资源“APPLE.bmp”,其ID设置为IDB_APPLE。
      接着我们为CMainFrame添加CImageList类型的成员变量m_imgList,再在CMainFrame::
      OnCreate()函数的“CMenuXP::SetXPLookNFeel (this);”后面加入:
         m_imgList.Create(IDB_APPLE, 0, 0, RGB(192,192,192));
         CMenuXP::SetMenuItemImage(ID_MENUITEM_APPLE, m_imgList, 0);
      其中m_imgList.Create()函数中的第2,3个参数是位图文件的图像拷贝的左上角坐标,最后一个参数是图像的背景色。建议使用16×16的位图。SetMenuItemImage()函数的最后一个参数指的是m_imgList的中元素的索引,这里因为m_imgList.只包含一个位图,故取零。编译后运行,看看“水果|苹果”菜单项前面是不是多了一个苹果的图标?
      下面我们在将使工具栏和状态栏XP化,这个更加easy了。只要将CMainFrame类声明中的
         CStatusBar m_wndStatusBar;
         CToolBar m_wndToolBar;
      变成
         CStatusBarXP m_wndStatusBar;
         CToolBarXP m_wndToolBar;
      就搞定了!不信,你编译运行一下看看,^_*
      CMenuXP还可以将按钮和下拉列表框变成Office
      XP风格的。为此我们新建一个对话框IDD_APPLE。OK和Cancel按钮保持不动,我们只增添一个下拉列表框控件IDC_COMBO1。然后按Ctrl+W打开ClassWizard为该对话框新建一个CAppleDlg类。再在ClassWizard中的Member
      Variable里为IDC_COMBO1添加Control类型的变量m_cmbx1。接着为CAppleDlg重载OnInitDialog()用以初始化控件:
         BOOL CAppleDlg::OnInitDialog()
      {
         CDialog::OnInitDialog();
         m_cmbx1.AddString("红苹果");
         m_cmbx1.AddString("青苹果");
         return TRUE;
      }
      然后在“苹果”菜单项的消息处理函数中使苹果对话框弹出:
         void CMainFrame::OnMenuitemApple()
      {
         // TODO: Add your command handler code here
         CAppleDlg dialog;
         dialog.DoModal();
      }
      如果这时编译运行,就会看到打开“水果|苹果”菜单项后弹出一个对话框,但上面的控件还不是Office
      XP风格的,下面我们就着手使其XP化,其实这同样也是很easy的!
      先在AppleDlg.h文件中包含"Tools/ComboBoxXP.h"和"Tools/ButtonXP.h",再找到定义m_cmbx1的位置,将
         CComboBox m_cmbx1;
      变成
         CComboBoxXP m_cmbx1;
      这样下拉列表框就有XP风格了,不信你编译运行试试。关于OK和Cancel按钮就稍微特殊一点,因为它们是直接用IDOK和IDCANCEL标识的默认按钮,但为了使它们XP化,我们还是得为这两个按钮添加控制变量。因此,在CAppleDlg类的声明中添加:
         CButtonXP m_btnOK;
         CButtonXP m_btnCancel;
      再在CAppleDlg::DoDataExchange()函数中添加数据交换:
         DDX_Control(pDX, IDOK, m_btnOK);
         DDX_Control(pDX, IDCANCEL, m_btnCancel);
      这样,OK和Cancel按钮也都XP化了。大家编译运行一下,看看效果怎么样。
      总之,使用Jean-Michel LE FOL的CMenuXP给用Visual C++开发的应用程序换上Office
      XP风格的界面还是很不错的,操作起来也比较简便。唯一不足的就是其他许多控件,如文本框等还是没有Office
      XP风格,这就期待着原作者以及我们大家继续完善CMenuXP类。


http://hi.baidu.com/yin8392169/blog/item/04d665975630ab6154fb96b2.html


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Xtreme Toolkit Pro v15破解版 安装说明:执行setup.exe进行软件的安装,安装的过程中要求输入Serial Number,运行keygen.exe,选择Products中Xtreme ToolKitPro,将License Key复制到安装对话框Serial Number中,完成软件的安装之后即可正常使用。 原文出自【风信网】,转载请保留原文链接:http://www.ithov.com/soft/116063.shtml Xtreme Toolkit Pro 为Windows开发人员提供了一个尖端技术的组件集来为你的应用程序提供一个专业的,现代化的外观。Xtreme Suite Pro组合了8种我们最受欢迎的组件, Xtreme CommandBar,Xtreme Docking Pane,Xtreme Property Grid,Xtreme Report Control,Xtreme Calendar,Xtreme Task Panel,Xtreme ShortcutBar和 Xtreme Controls。 产品特点 Xtreme Suite Professional Edition 中包含了下面列出的各种产品。点击相应的链接可以观看该产品的功能漫游。观看结束后可以返回本页,查看 Xtreme Toolkit Pro 的其他功能。 Xtreme Calendar控件能为 Windows开发者提供完善的类似于Outlook 2003 Calendar的风格。 Xtreme Command Bars 提供非常漂亮的Office风格的命令条和One Note样式的Tab 。 Xtreme Controls为Windows图形用户软件工程师提供众多的有关MFC的控件产品 。 Xtreme Docking Pane浮动面板为Windows开发者提供了完善的Visual Studio.NET风格的浮动面板。 Xtreme Property Grid属性网格为Windows开发者提供了完善的Visual Studio.NET风格的属性网格。 Xtreme Report Control为windows开发者提供一个完善的类似于Outlook 2003报表的风格。 Xtreme ShortcutBar为Windows开发者提供了完善的Office 2003快捷工具栏导航菜单,该菜单类似于Microsoft? Outlook 2003的导航菜单。 Xtreme TaskPanel为Windows开发者提供了一个非常熟悉的任务栏,与Windows资源管理器类似。 运行环境 Visual Basic 6.0 Visual Basic .NET 2002 Visual Basic .NET 2003 Visual Basic .NET 2005 Visual C# .NET 2002 Visual C# .NET 2003 Visual C# .NET 2005
BCGControlBarPro.v12.00完整源代码(含资源汉化帮助文件和VS2008中文向导)第三部分 使用方法: 1、解压至C:\Program Files目录下(密码:xiaoqing); 2、双击导入注册表C:\Program Files\BCGSoft\BCGControlBarPro\bcgcontrolbarpro.12.00.reg; 3、运行向导C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBProIntegrationWizard.exe。 与其它不同之处: 1、包含完整的源代码、帮助文件; 2、已经对 BCGPAppWizard2005 中的向导进行汉化,在 Visual Studio 2008 中可使用中文向导 BCGPAppWizard (参考 Visual Studio 2008 原有的中文向导,如果您想学习汉化向导,参考目录是:C:\Program Files\Microsoft Visual Studio 9.0\VC\VCWizards\AppWiz\MFC\Application\templates\2052) 关于静态链接: 1、首先必须在运行向导BCGCBProIntegrationWizard.exe时已经编译静态; 2、在 Visual Studio 建立项目向导时,选择静态链接即可。 关于使用 Office2007、2010 风格: 如果您使用了这些新风格,必须在项目中包括这些资源,否则 debug 版本启动时会报错(缺少资源,release版本不会提示,但显示不正常),具体有二种方法: 1、直接在“解决方案资源管理器”-“资源文件”中点右键,“添加”-“现有项”,把C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles中所有扩展名为 .rc 的资源包括进来即可。 2、直接在“资源视图”-“您的项目”上点右键,选择“资源包括”,在“资源包括”中的“编译时指令”中的#include "BCGCBPro.rc"后面添加以下代码: #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Aqua.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Luna.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Obsidian.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Silver.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2010White.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyleCarbon.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyleScenic.rc" 3、如果使用动态链接,请手工编译C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\Office2007_styles.sln或者build_all.dsp 仅为学习使用,下载后24小时内删除,请支持 BCGSoft 购买正版,本人不提供技术支持,不对任何负责。 尊重他人劳动成果,欢迎与大家分享成果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值