登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: vc 开源界面库     [回主站]     [分站链接]
标题
vc 开源界面库
clq
浏览(0) + 2010-04-15 17:37:06 发表 编辑

关键字:

vc 开源界面库
http://www.codeproject.com/kb/MFC/UltimateToolbox_GUI.aspx#Background_Painter

"
今天上网无意中发现Ultimate Toolbox 竟然在2007年7月起开源了,GUI市场竞争激烈可见一斑,根据其官方网站http://www.theultimatetoolbox.com/说 贵公司打算停止该项目,原因是什么也没有说明,不过这对我们来说并不重要,开源此类代码着实让我感动的不得了,估计要兴奋好几天。开源项目包括300多个 扩展MFC类,TCP/IP类,表格控件类。代码和说明刊登在全球最大的Windows开发网站上:http://www.codeproject.com/MFC/UltimateToolbox_GUI.asp#Background_Painter, 呵呵,这下可忙坏我了,好好看看它的源码。真是搞笑,我不明白http://www.componentcn.com/index.asp网 为什么还在卖此类产品?可能买者不知道此事罢了....
"

  "界面库多了去了,Skin++、SkinMagic、profuis、AppFace、CJ60Lib、BCG等等。   "
 

clq
2010-4-15 17:53:31 发表 编辑

"

使用SkinMagic Toolkit美化界 面(II

by mythma

 

每个人都希望自己的程序看起来漂亮些,一切都自己来做显得不太现实,选择一个成熟的第三方界面库是一条快速的捷径。关于界面美化的第三方程序库 也有很多,如BCGControlBarXTPSkinMagic等。对于新手而言,能快速上手的程序库是首选。在众多的界面程序库中, SkinMagic是最容易上手,最容易使用的。本文介绍了如何建立一个简单的SkinMagic程序以及几个基本的SkinMagic API,当然,仅仅是作为入门之用 J

       开发平台:VC6 + SkinMagic2.21

示 例代码+SkinMagic下载

l       准备工作

1、下载SkinMagic Toolkit,复制SkinMagicTrial.dllSkinMagicTrial.libSkinMagicLib.h以及皮肤文件corona.smf至项目的目录下。(这样比较简单J,可以在这下载。)

2、在stdafx.h中加入头文件和库的引用,如下:

#include "SkinMagicLib.h"

#pragma comment(lib, "SkinMagicTrial.lib")

 

l       使用SkinMagic

1、  初始化SkinMagic库:

int  __stdcall InitSkinMagicLib( HINSTANCE hInstance,

                                                                    LPCTSTR lpApplication ,

                                                                    LPCTSTR lpReserved1,

                                                                   LPCTSTR lpReserved2 );

CxxxApp::InitInstance()中加入初始化SkinMagic库的代码:

       VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));

2、调入皮肤文件:

        皮肤的调用有两种方法,一是直接从皮肤文件中调用,另一种方法是从资源文件中调用,分别说明如下:

1)  从皮肤文 件中调用皮肤:

int  __stdcall LoadSkinFile( LPCTSTR lpSkinFile );

2)从资源文件中调用皮肤:

int  __stdcall LoadSkinFromResource(HMODULE hModule,

                     LPCTSTR lpSkinName ,

LPCTSTR lpType);

现在CxxxApp::InitInstance()中的代码如下:

BOOL CxxxApp::InitInstance()

{

         VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));

         VERIFY( 1 == LoadSkinFile("corona.smf"));

         AfxEnableControlContainer();

    //…..下略

}

3、将皮肤应用到程序上

       int  __stdcall SetWindowSkin( HWND hWnd , LPCTSTR lpSkinName ); 

   int  __stdcall SetDialogSkin( LPCTSTR szSkinName );

1)对话框程序代码位置:

BOOL CxxxApp::InitInstance()

{

         //...上略

         m_pMainWnd = &dlg;

         VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));

    VERIFY( 1 == SetDialogSkin( "Dialog" ) );

         int nResponse = dlg.DoModal();

    //…下略

}

2)文档视图程序代码的位置

BOOL CxxxApp::InitInstance()

{

         //…上略

         m_pMainWnd->ShowWindow(SW_SHOW);

         m_pMainWnd->UpdateWindow();

         VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));

    VERIFY( 1 == SetDialogSkin( "Dialog" ) );

         return TRUE;

}

4释放SkinMagic资源

void  __stdcall ExitSkinMagicLib();

重载应用程序的ExitInstance()函数,添加如下代码:

int CxxxApp::ExitInstance()

{

                  ExitSkinMagicLib();

         return CWinApp::ExitInstance();

}

l       结论

经过简短的4步,程序就换上了新装。我没有骗你吧!如果还有什么疑问,可以联系我mythma@163.comJ

l       参考资料

使用SkinMagic Toolkit美化界面


"

文中的 BCGControlBar 好象 vs2008 已经自带了.


总数:1 页次:1/1 首页 尾页  
总数:1 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1