程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 用SkinMagic工具包創建換皮膚程序

用SkinMagic工具包創建換皮膚程序

編輯:關於VC++

代碼運行效果圖如下:

以前看到瑞星和金山詞霸有換皮膚功能,很是羨慕,自己也想做個換皮膚的程序,但畢竟自己能力有限,以前在此處看到一篇介紹換皮膚功能的文章,但只能應用在對話框程序上。我也試過像BCGCBar這樣的大型軟件,給我的感覺是軟件老是出問題,應用起來也很復雜。在年前我就看到本站有SkinMagic軟件包,但當時不知怎麼用,發了貼子也沒人回答。可能是很少有人用的緣故吧,本站也未更新此軟件包。偶然的一次機會,讓我知道了怎樣來用它,

而且編譯出來的軟件體積很小,所以在這裡向大家介紹一下,希望對大家有些幫助。

如何使用:

① 新建工程後,將SkinMagic包中的SkinMagicLib.h、SkinMagicLib.lib、DETOURS.lib拷貝到所在文件夾下,點擊Project->Add To Project->Files,包含到工程中。

② 在Resource View中點擊Import 菜單引入幾個Skin二進制文件放在相同的“SKINMAGIC”文件夾下,分別給起一個名字(見源程序)。

③ 在stdafx.h中加入#include "SkinMagicLib.h"

④ 在此處添加如下內容

if (!ProcessShellCommand(cmdInfo))
  return FALSE;
/////////////////////////////////////////////////////////////////////////////////////////
VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), "Demo" ,NULL,NULL ) );//初始化類庫
  VERIFY( 1 == LoadSkinFromResource( AfxGetInstanceHandle() , "KROMO" ,"SKINMAGIC") );//從資源中加載皮膚
  
  VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));
  VERIFY( 1 == SetDialogSkin( "Dialog" ) );
  ((CMainFrame*)m_pMainWnd)->m_bSkinned = TRUE;
  ((CMainFrame*)m_pMainWnd)->m_nIndex = 0;
  ////////////////////////////////////////////////////////////////////////////////////////////
  m_pMainWnd->ShowWindow(SW_SHOW);
  m_pMainWnd->UpdateWindow();

⑤ 在MainFrame中加入換皮膚菜單,及相應的函數,在函數中加載皮膚。

void CMainFrame::OnDevior()
{
   LoadSkinFromResource( AfxGetInstanceHandle() , "DEVIOR" ,"SKINMAGIC") ;
}

到此為止,完美的換皮膚程序就出來了。

本文配套源碼

  1. 上一頁:
  2. 下一頁:
欄目導航
Copyright © 程式師世界 All Rights Reserved