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

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
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>
            在线观看日韩国产| 欧美成人免费va影院高清| 久久免费高清| 午夜视黄欧洲亚洲| 午夜视频一区在线观看| 久久成人18免费网站| 国产精品久久午夜夜伦鲁鲁| 欧美色大人视频| 国产精品黄色| 国产一区二区三区最好精华液| 国产日韩欧美三区| 狠狠入ady亚洲精品经典电影| 在线观看视频一区二区欧美日韩 | 亚洲一区二区三区精品视频| 亚洲少妇在线| 久久免费精品视频| 欧美日本在线看| 国产日产欧产精品推荐色| 黄色一区二区三区| 亚洲精选中文字幕| 欧美在线免费| 亚洲国产精品成人va在线观看| 亚洲欧洲美洲综合色网| 亚洲伊人网站| 欧美精品国产精品日韩精品| 国产精品久久久久免费a∨ | 午夜电影亚洲| 久久综合中文字幕| 一区二区不卡在线视频 午夜欧美不卡在 | 久久er精品视频| 欧美精品乱人伦久久久久久| 国产欧美欧美| 一本久久综合亚洲鲁鲁| 久久这里有精品15一区二区三区 | 午夜在线一区| 欧美日韩妖精视频| 狠狠色丁香久久婷婷综合_中| 亚洲视频中文| 欧美激情性爽国产精品17p| 亚洲欧美视频| 国产精品国码视频| 亚洲精品乱码久久久久久黑人 | 国产精品久久久久久久浪潮网站| 亚洲成色最大综合在线| 欧美亚洲一级片| 艳女tv在线观看国产一区| 快射av在线播放一区| 国产视频精品网| 欧美在线播放一区| 亚洲天堂久久| 国产精品九九久久久久久久| 99热这里只有精品8| 亚洲国产裸拍裸体视频在线观看乱了| 欧美成人中文字幕| 久久av一区二区三区| 国产亚洲福利社区一区| 亚洲欧美日韩在线| 亚洲网站在线看| 欧美性猛交xxxx乱大交蜜桃| 亚洲视频每日更新| 日韩一级黄色片| 欧美日韩亚洲一区二区三区四区 | 国产综合色产在线精品| 久久爱www| 久久国产福利国产秒拍| 依依成人综合视频| 欧美激情视频在线免费观看 欧美视频免费一 | 久久久久久久91| 欧美一区二区三区视频免费播放| 国产精品日韩一区二区三区| 午夜精品福利在线| 亚洲免费视频在线观看| 国产午夜精品麻豆| 噜噜噜噜噜久久久久久91| 卡通动漫国产精品| 在线亚洲电影| 亚洲欧美精品suv| 国产在线一区二区三区四区| 美日韩精品免费| 欧美激情四色| 性欧美1819sex性高清| 久久精品国产亚洲a| 亚洲日韩成人| 亚洲欧美日韩爽爽影院| 亚洲高清网站| 亚洲视频精选| 亚洲第一网站| 亚洲色无码播放| 永久免费视频成人| av成人免费在线| 一区一区视频| 一区二区三区视频在线看| 国内精品亚洲| aa亚洲婷婷| 在线日韩日本国产亚洲| 亚洲人体1000| 国产亚洲毛片在线| 亚洲日本无吗高清不卡| 国产欧美日韩亚洲精品| 亚洲国产精品成人综合色在线婷婷| 欧美色综合天天久久综合精品| 久久精品国产久精国产一老狼| 欧美成人精品一区| 久久久www免费人成黑人精品 | 欧美日韩黄色一区二区| 久久精品夜色噜噜亚洲a∨| 一本色道**综合亚洲精品蜜桃冫| 国产精品剧情在线亚洲| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美日韩国产综合久久| 你懂的一区二区| 国产精品久久国产愉拍| 亚洲国产日韩欧美在线99 | 亚洲精品欧美一区二区三区| 国产伊人精品| 亚洲一区日韩在线| 一区二区高清视频| 男女视频一区二区| 美女精品网站| 狠狠色综合网站久久久久久久| 一区二区三区不卡视频在线观看 | 亚洲欧美在线磁力| 亚洲一区二区成人在线观看| 久久综合99re88久久爱| 久久精品视频一| 国产日韩精品在线观看| 亚洲婷婷国产精品电影人久久| 99国产精品99久久久久久| 久久综合色影院| 乱人伦精品视频在线观看| 国内久久精品视频| 欧美夜福利tv在线| 久久精品一本| 狠狠色综合网| 久久中文字幕导航| 欧美高清视频免费观看| 亚洲国产欧美在线| 免费亚洲电影在线观看| 免费精品99久久国产综合精品| 国内成人自拍视频| 久久美女性网| 亚洲大胆在线| 99亚洲一区二区| 欧美日韩在线影院| 亚洲特色特黄| 久久男人av资源网站| 在线不卡a资源高清| 久久综合伊人77777| 亚洲电影免费观看高清完整版| 亚洲啪啪91| 欧美三级乱人伦电影| 亚洲尤物精选| 久久久久久久性| 最新中文字幕一区二区三区| 欧美mv日韩mv国产网站| 亚洲精品影视在线观看| 亚洲欧美国产另类| 国产午夜精品久久| 免费成人性网站| 99国产精品久久久久老师| 午夜日韩电影| 亚洲国产日本| 国产精品久久综合| 久久久久久亚洲精品不卡4k岛国| 欧美高清视频www夜色资源网| aa级大片欧美| 国产欧美视频在线观看| 久久免费偷拍视频| 99re热这里只有精品视频| 久久成人精品无人区| 欧美另类99xxxxx| 亚洲一区二区三区精品动漫| 另类图片国产| 亚洲欧美日本日韩| 在线国产精品一区| 欧美三级电影一区| 久久精品视频网| 中文高清一区| 欧美黑人多人双交| 午夜精品免费| 亚洲精品精选| 国内精品美女在线观看| 欧美日韩国产一区| 久久久国产一区二区三区| 亚洲欧洲日产国产综合网| 久久国产视频网站| 日韩视频一区二区三区在线播放免费观看 | 欧美一区不卡| 亚洲精品一区二区网址| 国产一区二区三区观看| 欧美日韩精品二区第二页| 久久成人免费视频| 一本色道久久加勒比精品| 欧美激情一区二区久久久| 久久精品成人一区二区三区蜜臀| 亚洲午夜高清视频| 日韩网站在线| 亚洲精品日韩一| 在线日韩欧美视频| 狠狠综合久久av一区二区老牛|