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

牽著老婆滿街逛

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

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

作者:武漢理工大學(xué) 自動化 林津


下載源代碼


  在看《Windows 程序設(shè)計》的時候,就在用 SkinMagic 換膚,但 SkinMagic 中的 SDK 程序例子只能用文件方式加載皮膚,很不方便,而且還有一些Bug。后來看了下面這篇文章才茅塞頓開,終于會用 SkinMagic 把皮膚加入靜態(tài)資源為 SDK 程序換膚。在 VCKBASE 網(wǎng)站的在線雜志中我看到一篇題為“用SkinMagic工具包創(chuàng)建換皮膚程序”的文章。我和上面文章的作者聯(lián)系過,告訴了他我的想法并找出他程序中一個微不足道的 Bug!上面文章用MFC換膚,我現(xiàn)在寫的可以說是他的 SDK 版。主要通過簡單處理解決了標題出現(xiàn) [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 開頭添加如下內(nèi)容:
    int APIENTRY WinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPSTR     lpCmdLine,
                         int       nCmdShow)
    {
     	//加載SkinMagicLib.lib、DETOURS.lib 庫
    	InitSkinMagicLib( hInstance, 
    			  "LINJIN", 
    			  NULL,NULL ); 
    
    	//LoadSkinFile("corona.smf");
    	//加載靜態(tài)自定義皮膚資源
    	LoadSkinFromResource( GetModuleHandle(NULL), 
    	                      "XPBLUE" ,
    	                      "SKINMAGIC");
    	//為程序中對話框換膚	                      
    	SetDialogSkin( "Dialog" ) ;
    	
    	......
    
    	//在 WinMain  結(jié)束時釋放 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中,使定義的菜單資源和皮膚資源對應(yīng)起來:
    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);
    	
            //使用菜單變換皮膚,
            //通過數(shù)組的持續(xù)把菜單和皮膚資源對應(yīng),
    	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);
    	}
    }
    
還有些細節(jié)都在代碼中,示例工程無需做任何修改可以直接編譯…。
示例工程里的 ./res 中有 SkinMagic SDK 1.0 Library 的 SkinMagicLib.lib (經(jīng)處理不會顯示[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| 欧美一区网站| 136国产福利精品导航| 免费欧美日韩| 欧美顶级艳妇交换群宴| 中日韩美女免费视频网址在线观看| 日韩视频不卡| 国产麻豆日韩欧美久久| 噜噜噜躁狠狠躁狠狠精品视频| 久久久久久亚洲精品杨幂换脸| 亚洲人午夜精品| 99国产麻豆精品| 国产日韩亚洲欧美| 欧美大片第1页| 欧美午夜久久| 浪潮色综合久久天堂| 欧美日韩久久精品| 欧美在线一区二区| 欧美激情第二页| 性高湖久久久久久久久| 麻豆91精品| 香蕉久久夜色精品国产| 麻豆国产精品va在线观看不卡| 亚洲一区二区黄| 久久精品伊人| 亚洲综合色自拍一区| 久久久精品网| 亚洲综合成人在线| 免费亚洲婷婷| 久久精品国产清自在天天线| 欧美国内亚洲| 美女日韩在线中文字幕| 国产九色精品成人porny| 亚洲高清一二三区| 国产精品视频一二| 亚洲精品一区二区三区在线观看| 国产欧美日韩在线播放| 亚洲美女视频| 亚洲人成人一区二区三区| 午夜精品三级视频福利| 亚洲在线观看| 欧美日韩激情小视频| 欧美成人免费网站| 国产在线欧美日韩| 亚洲综合不卡| 中文精品视频| 欧美jizz19hd性欧美| 久久久亚洲人| 国产视频在线观看一区二区| 日韩视频精品在线| 一本色道久久综合精品竹菊| 久久亚洲欧美| 久久综合色播五月| 国产一区二区三区观看| 亚洲欧美bt| 欧美一区二区精品久久911| 欧美偷拍另类| 一本大道久久a久久综合婷婷| 亚洲免费观看视频| 欧美国产一区二区在线观看| 亚洲黄色成人久久久| 在线不卡欧美| 久久夜色精品国产欧美乱极品| 久久久久久久综合日本| 欧美日韩中文在线观看| 性欧美办公室18xxxxhd| 亚洲伊人一本大道中文字幕| 欧美精品国产精品| 亚洲精品欧美在线| 亚洲视频在线二区| 欧美三级在线| 在线综合亚洲欧美在线视频| 亚欧成人在线| 久久夜色精品| 亚洲高清网站| 欧美成人性网| 亚洲人在线视频| 一区二区三区四区五区精品| 欧美日韩亚洲激情| 午夜国产精品视频| 免费美女久久99| 亚洲精品一区二区三区蜜桃久| 欧美日本高清一区| 亚洲一区二区伦理| 久久亚洲春色中文字幕| 亚洲国产欧美日韩| 欧美日韩免费在线| 欧美一区二区| 亚洲国产精品久久久| 亚洲欧美成人精品| 在线播放国产一区中文字幕剧情欧美 | 久久aⅴ国产紧身牛仔裤| 欧美69wwwcom| 一区二区精品在线| 国产啪精品视频| 久久天天狠狠| 亚洲桃色在线一区| 蜜桃av一区| 亚洲一区二区三区高清| 精品91在线| 欧美精品福利| 久久国产精彩视频| 99re6这里只有精品| 欧美影院在线| 亚洲人成在线观看一区二区| 国产精品永久在线| 欧美国产日韩精品免费观看| 亚洲欧美激情视频| 亚洲国产日韩欧美综合久久| 欧美一区二区三区视频在线| 亚洲精品一区二区三区在线观看| 国产精品男人爽免费视频1| 久久亚洲精品中文字幕冲田杏梨| 99一区二区| 欧美福利小视频| 亚洲自拍偷拍视频| 亚洲美女尤物影院| 韩日欧美一区二区三区| 国产精品影片在线观看| 欧美激情一区二区三区不卡| 欧美一区二视频| av成人手机在线| 亚洲国产精品第一区二区三区| 久久黄色网页| 亚洲欧美亚洲| 一区二区三区**美女毛片| 在线观看视频一区二区| 国产精品一区毛片| 国产精品女人久久久久久| 欧美精品1区2区| 欧美高清在线观看| 美女视频黄 久久| 可以看av的网站久久看| av成人免费| 欧美激情一二区| 免费观看在线综合色| 久久久久久久一区二区三区| 欧美中文字幕视频| 亚洲一区在线看| 一本色道久久综合亚洲精品小说 | 日韩一级在线观看| 亚洲精品乱码| 亚洲精品一区久久久久久| 亚洲肉体裸体xxxx137| 亚洲风情在线资源站| 91久久久久久久久| 日韩一级精品视频在线观看| 亚洲理论在线| 久久精品国产成人| 久久综合伊人77777麻豆| 久久久久99| 女主播福利一区| 欧美母乳在线| 国产精品久久久久国产a级| 国产精品美女999| 国产精品乱码一区二三区小蝌蚪| 国产精品区二区三区日本| 国产亚洲精品一区二555| 一区二区三区在线视频播放 | 欧美日本国产一区| 国产精品美女视频网站| 国产一区二区三区免费不卡 | 欧美视频四区| 国产伦精品一区二区三区四区免费 | 国产精品亚洲视频| 一区二区三区在线观看视频| 91久久久久久久久久久久久| 国产精品99久久不卡二区| 欧美亚洲一级| 欧美国产视频在线观看| 亚洲精品一区二区在线观看| 亚洲欧美激情视频| 免费在线欧美视频| 国产精品一区久久久| 亚洲国产另类久久久精品极度| 日韩视频一区二区三区| 欧美亚洲视频在线观看| 欧美大片在线看| 亚洲资源av| 模特精品在线| 国产日韩精品一区二区浪潮av| 伊人久久男人天堂| 亚洲男人天堂2024| 欧美刺激午夜性久久久久久久| 亚洲视频精选在线| 久久躁狠狠躁夜夜爽| 国产精品网曝门| 亚洲破处大片| 久久精品1区| 在线亚洲欧美| 免费不卡中文字幕视频| 国产欧美日韩视频一区二区三区 | 一色屋精品视频在线观看网站| 亚洲视频1区2区| 免费高清在线一区| 亚洲欧美卡通另类91av|