青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

SDK 程序使用SkinMagic工具包換皮膚

作者:武漢理工大學 自動化 林津


下載源代碼


  在看《Windows 程序設計》的時候,就在用 SkinMagic 換膚,但 SkinMagic 中的 SDK 程序例子只能用文件方式加載皮膚,很不方便,而且還有一些Bug。后來看了下面這篇文章才茅塞頓開,終于會用 SkinMagic 把皮膚加入靜態資源為 SDK 程序換膚。在 VCKBASE 網站的在線雜志中我看到一篇題為“用SkinMagic工具包創建換皮膚程序”的文章。我和上面文章的作者聯系過,告訴了他我的想法并找出他程序中一個微不足道的 Bug!上面文章用MFC換膚,我現在寫的可以說是他的 SDK 版。主要通過簡單處理解決了標題出現 [Powered by SkinMagic] 的問題,換用 SkinMagic SDK 1.0 Library,支持更多皮膚。

如何使用:

  1. 新建 SDK 工程后,將 SkinMagic 包中的 SkinMagicLib.h、SkinMagicLib.lib、DETOURS.lib 從示例工程./res 中,點擊Project->Add To Project->Files,包含到工程中。
  2. 在 Resource View 中點擊 Import 菜單引入幾個 Skin 二進制文件放在相同的"SKINMAGIC"文件夾下,分別給起一個名字(見源程序)。
  3. 在 stdafx.h 中加入 #include "SkinMagicLib.h"
  4. 在 WinMain 開頭添加如下內容:
    int APIENTRY WinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPSTR     lpCmdLine,
                         int       nCmdShow)
    {
     	//加載SkinMagicLib.lib、DETOURS.lib 庫
    	InitSkinMagicLib( hInstance, 
    			  "LINJIN", 
    			  NULL,NULL ); 
    
    	//LoadSkinFile("corona.smf");
    	//加載靜態自定義皮膚資源
    	LoadSkinFromResource( GetModuleHandle(NULL), 
    	                      "XPBLUE" ,
    	                      "SKINMAGIC");
    	//為程序中對話框換膚	                      
    	SetDialogSkin( "Dialog" ) ;
    	
    	......
    
    	//在 WinMain  結束時釋放 SkinMagic 資源。 
    	ExitSkinMagicLib();
    }
    
  5. 還有在InitInstance 中:
    BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
    {
       ......
       //如果程序用到菜單
       //要在 SetWindowSkin 之前用,否則 hMenu 為 NULL
       hMenu = GetMenu (hWnd) ; 
       
       // 把皮膚加入程序框架
       SetWindowSkin( hWnd , "MainFrame" );
       ShowWindow(hWnd, nCmdShow);
       UpdateWindow(hWnd);
    
       return TRUE;
    }
    
  6. 還有在WndProc中,使定義的菜單資源和皮膚資源對應起來:
    LRESULT CALLBACK WndProc(HWND hWnd, 
                             UINT message, 
                             WPARAM wParam, 
                             LPARAM lParam)
    {
    	int wmId, wmEvent;
    	PAINTSTRUCT ps;
    	HDC hdc;
    	TCHAR szHello[MAX_LOADSTRING];
    	LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING);
    	
            //使用菜單變換皮膚,
            //通過數組的持續把菜單和皮膚資源對應,
    	static char* idColor [7] = { "XPBLUE",  "CORONA", "KROMO",
                                    "XPGREAN", "XPLUS","XPSTEEL","DEVIOR" } ; 
    
    	......
    	
    	switch (wmId)
    	{
    	case IDM_XP:         // Note: Logic below
           	case IDM_CORONA:        //   assumes that IDM_WHITE
           	case IDM_KROMO:          //   through IDM_BLACK are
           	case IDM_XPGREAN:        //   consecutive numbers in
           	case IDM_XPLUS :         //   the order shown here.
    	case IDM_XPSTEEL:
    	case IDM_DEVIOR:
    	
           	//菜單選擇
            CheckMenuItem (hMenu, iSelection, MF_UNCHECKED) ;
            iSelection = wmId ;
            CheckMenuItem (hMenu, iSelection, MF_CHECKED) ;
            LoadSkinFromResource( GetModuleHandle(NULL), 
    			   idColor[LOWORD (wParam) - IDM_XP] ,
    			   "SKINMAGIC" );
            InvalidateRect (hWnd, NULL, TRUE) ;
            return 0 ;
    
    	case IDM_ABOUT:
    	   DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
    	   break;
    	case IDM_EXIT:
    	   DestroyWindow(hWnd);
    	   break;
    	default:
    	   return DefWindowProc(hWnd, message, wParam, lParam);
    	}
    }
    
還有些細節都在代碼中,示例工程無需做任何修改可以直接編譯…。
示例工程里的 ./res 中有 SkinMagic SDK 1.0 Library 的 SkinMagicLib.lib (經處理不會顯示[Powered by SkinMagic])、DETOURS.lib 和眾多皮膚,可以拿到使用。

最后,SkinMagic 有一個 Bug,一直都沒有解決——就是子菜單返回為 0,不能使用。

希望作者和大家有好的辦法......

下面是例子程序的截圖:






?

posted on 2006-06-22 16:45 楊粼波 閱讀(429) 評論(0)  編輯 收藏 引用 所屬分類: 文章收藏

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            最新成人av网站| 欧美日韩国产一区二区三区| 裸体女人亚洲精品一区| 欧美一区二区在线观看| 欧美不卡三区| 麻豆av福利av久久av| 久久亚洲精品视频| 欧美二区在线播放| 欧美视频免费在线观看| 国产精品色一区二区三区| 国产一区二区三区高清| 在线日韩中文字幕| 一区二区激情小说| 欧美在线免费观看| 免费在线亚洲| 欧美国产欧美综合 | 妖精成人www高清在线观看| 一区二区三区产品免费精品久久75| 亚洲一区视频在线观看视频| 欧美在线一级va免费观看| 免费成人高清| 国产亚洲一区二区三区| 99精品福利视频| 久久人人97超碰精品888| 亚洲国产另类久久久精品极度| 亚洲国产婷婷香蕉久久久久久99 | 久久伊人亚洲| 一二三区精品福利视频| 久久综合九色欧美综合狠狠| 国产精品久久二区二区| 樱桃国产成人精品视频| 亚洲欧美日韩人成在线播放| 欧美电影免费观看网站| 香港久久久电影| 欧美色另类天堂2015| 亚洲人成欧美中文字幕| 久久婷婷av| 午夜精品亚洲一区二区三区嫩草| 欧美巨乳在线| 亚洲黄色在线| 免费亚洲网站| 久久精品网址| 国产日韩欧美黄色| 亚洲一区二区三区久久| 亚洲精品视频在线| 欧美成人一区二区三区在线观看| 国产亚洲欧美一区二区| 欧美一区二区三区四区高清 | 亚洲福利视频免费观看| 久久国产日本精品| 国产欧美日韩精品专区| 亚洲淫片在线视频| 亚洲精品日韩激情在线电影| 麻豆91精品| 影院欧美亚洲| 久久综合婷婷| 久久福利资源站| 一区二区三区精品国产| 欧美日本韩国一区| 一本久久精品一区二区| 亚洲国产小视频| 欧美精品一区在线| 亚洲婷婷国产精品电影人久久| 亚洲人成在线观看网站高清| 蜜臀久久99精品久久久画质超高清| 樱桃国产成人精品视频| 久久久之久亚州精品露出| 亚洲一区二区三区中文字幕| 中日韩高清电影网| 正在播放欧美视频| 国产精品乱码一区二三区小蝌蚪| 亚洲欧美日韩精品久久奇米色影视| 99视频一区二区| 国产精品福利网| 欧美在线亚洲一区| 久久久久久久91| 亚洲激情二区| 一区二区三区精品视频| 国产亚洲一区在线播放| 欧美激情一区二区三区高清视频| 欧美精品电影| 久久gogo国模裸体人体| 久久一区二区三区四区| 在线视频精品一| 午夜宅男欧美| 亚洲国产成人在线| 一本色道久久综合狠狠躁篇的优点| 国产精品hd| 麻豆9191精品国产| 欧美伦理91i| 久久久www| 欧美日韩999| 久久蜜臀精品av| 欧美日韩一区在线观看视频| 久久精品在线观看| 欧美剧在线免费观看网站| 久久精品国产亚洲精品| 欧美精品久久久久久久| 久久久视频精品| 欧美日韩精品欧美日韩精品一| 久久久国产一区二区三区| 欧美久久婷婷综合色| 久久男女视频| 国产精品网站视频| 亚洲精品社区| 亚洲第一色中文字幕| 亚洲欧美日韩精品久久久久| 一区二区三区国产盗摄| 老牛影视一区二区三区| 久久成人综合网| 欧美午夜精品久久久久免费视| 欧美va亚洲va日韩∨a综合色| 国产精品久久久久久久久动漫| 欧美成人免费全部| 狠狠久久亚洲欧美| 亚洲欧美日本伦理| 亚洲免费视频观看| 欧美极品一区二区三区| 国产一区二区三区电影在线观看 | 国产情侣一区| 99一区二区| 亚洲美女视频网| 免费国产一区二区| 久久天堂国产精品| 黑人巨大精品欧美一区二区小视频 | 国产欧美日韩亚洲精品| 日韩午夜三级在线| 一区精品在线| 99re热这里只有精品免费视频| 精品1区2区| 久久精品人人爽| 久久激情网站| 国产亚洲在线| 欧美一区二区精品在线| 欧美一区视频在线| 国产欧美一二三区| 午夜欧美大尺度福利影院在线看| 亚洲综合色丁香婷婷六月图片| 欧美日韩国产成人高清视频| 亚洲国产高清视频| 日韩特黄影片| 欧美日韩一区二区免费在线观看| 亚洲三级色网| 亚洲欧美日韩国产中文在线| 国产精品久久综合| 欧美一乱一性一交一视频| 久久久久国产一区二区| 樱桃国产成人精品视频| 欧美成人中文字幕在线| 亚洲精品国产精品国自产观看| 一区二区欧美视频| 国产精品久久久久久久9999| 欧美一区二区三区在线看| 蜜桃av综合| 99re6热在线精品视频播放速度| 欧美日韩精品欧美日韩精品一 | 久久蜜臀精品av| 亚洲国产影院| 国产精品超碰97尤物18| 亚洲欧美日韩在线高清直播| 久久亚洲春色中文字幕| 亚洲精品乱码久久久久| 欧美日韩精品免费观看视频| 午夜精品免费| 亚洲国产精品视频一区| 亚洲欧美久久久久一区二区三区| 国产综合在线看| 欧美激情综合色综合啪啪| 亚洲尤物视频在线| 亚洲电影观看| 久久成人亚洲| 99精品欧美一区二区三区综合在线| 国产精品激情偷乱一区二区∴| 欧美一区二区日韩一区二区| 亚洲国产精品激情在线观看| 午夜久久tv| 久久激情综合| 亚洲精品一线二线三线无人区| 欧美一区=区| 日韩亚洲一区二区| 国内精品久久国产| 欧美美女福利视频| 久久精品国产免费| 在线亚洲欧美专区二区| 欧美成人午夜影院| 欧美在线影院| 在线中文字幕一区| 精品88久久久久88久久久| 国产精品久久久久毛片软件| 看片网站欧美日韩| 午夜精品一区二区三区四区| 亚洲区一区二区三区| 老色鬼精品视频在线观看播放| 亚洲女爱视频在线| 亚洲精品欧美在线| 制服丝袜激情欧洲亚洲| 影音先锋国产精品| 欧美色区777第一页| 你懂的国产精品永久在线| 欧美综合激情网|