;
帖子
3919 
精华
积分
11710 
鱼币
0 ¥ 
来自
大连 
在线时间
1858 小时 
注册时间
2007-6-11 
最后登录
2009-10-20 

贴图大师勋章新人进步勋章宣传大使勋章论坛元老勋章

3
发表于 2009-1-5 19:48 | 只看该作者
VC閫氱敤鎺т欢缂栫▼涔婥ImageList鎺т欢 - 缂栫▼搴 - Powered by SupeSite

浣犵殑浣嶇疆锛缂栫▼搴 >> 璧勮 >> VC >> vc鎺т欢 >> 璇︾粏鍐呭 鍦ㄧ嚎鎶曠ǹ

VC閫氱敤鎺т欢缂栫▼涔婥ImageList鎺т欢

鍙戝竷: 2008-6-26 14:29 |  浣滆: admin |   鏌ョ湅: 174娆

鍥惧儚鍒楄〃鎺у埗锛圕ImageList锛夋槸鐩稿悓澶у皬鍥惧儚鐨勪竴涓泦鍚堬紝姣忎釜闆嗗悎涓潎浠0涓哄浘鍍忕殑绱㈠紩搴忓彿鍩烘暟锛屽浘鍍忓垪琛ㄩ氬父鐢卞ぇ鍥炬爣鎴栦綅鍥炬瀯鎴愶紝鍏朵腑鍖呭惈閫忔槑浣嶅浘妯″紡銆傚彲浠ュ埄鐢╓INDOWS32浣嶅簲鐢ㄧ▼搴忔帴鍙e嚱鏁癆PI鏉ョ粯鍒躲佸缓绔嬪拰鍒犻櫎鍥惧儚锛屽苟鑳藉疄鐜板鍔犮佸垹闄ゃ佹浛鎹㈠拰鎷栧姩鍥惧儚绛夋搷浣溿傚浘鍍忓垪琛ㄦ帶鍒舵彁渚涗簡鎺у埗鍥惧儚鍒楄〃鐨勫熀鏈柟娉曪紝杩欎簺鏂规硶鍦╓INDOWS95鍙婁互鍚庣増鏈墠鑳藉疄鐜般

銆銆锛堜竴锛夊浘鍍忔帶鍒剁殑瀵硅薄缁撴瀯

銆銆1銆佸浘鍍忔帶鍒剁殑鏁版嵁鎴愬憳

銆銆銆m_hImageList 杩炴帴鍥惧儚瀵硅薄鐨勬帶鍒跺彞鏌

銆銆2銆佸浘鍍忔帶鍒剁殑寤虹珛鏂规硶

銆銆銆CimageList锛唅mageList寤虹珛鍥惧儚鎺у埗瀵硅薄缁撴瀯

銆銆銆Create 鍒濆鍖栧浘鍍忓垪琛ㄥ苟缁戝畾瀵硅薄

銆銆鍥惧儚鎺у埗鐨勫缓绔嬫柟娉曞涓嬶細

BOOL Create( int cx, int cy, UINT nFlags, int nInitial, int nGrow );

BOOL Create( UINT nBitmapID, int cx, int nGrow, COLORREF crMask );

BOOL Create( LPCTSTR lpszBitmapID, int cx, int nGrow, COLORREF crMask );

BOOL Create( CImageList& imagelist1, int nImage1, CImageList& imagelist2

,int nImage2,int dx, int dy );

銆銆鍏朵腑鍚勯」鍙傛暟鐨勫惈涔変负锛歝x瀹氫箟鍥惧儚鐨勫搴︼紝鍗曚綅涓鸿薄绱狅紱cy瀹氫箟鍥捐薄鐨勯珮搴︼紝鍗曚綅涓鸿薄绱狅紱nFlags纭畾寤虹珛鍥惧儚鍒楄〃鐨勭被鍨嬶紝鍙互鏄互涓嬪肩殑缁勫悎锛欼LC_COLOR銆両LC_COLOR4銆両LC_COLOR8銆両LC_COLOR16銆両LC_COLOR24銆両LC_COLOR32銆両LC_COLORDDB鍜孖LC_MASK锛沶Initial鐢ㄦ潵纭畾鍥惧儚鍒楄〃鍖呭惈鐨勫浘鍍忔暟閲忥紱nGrow鐢ㄦ潵纭畾鍥惧儚鍒楄〃鍙帶鍒剁殑鍥惧儚鏁伴噺銆

銆銆銆NbitmapID 鐢ㄦ潵纭畾鍥惧儚鍒楄〃鑱旂郴鐨勪綅鍥炬爣蹇楀硷紱crMask琛ㄧず棰滆壊灞忚斀浣嶏紱

銆銆銆LpszBitmapID 鐢ㄦ潵纭畾鍖呭惈浣嶅浘璧勬簮鐨勬爣璇嗕覆锛

銆銆imagelist1 鎸囧悜鍥惧儚鍒楄〃鎺у埗瀵硅薄鐨勪竴涓寚閽堬紱nImage1鍥惧儚鍒楄〃1涓寘鍚殑鍥惧儚鏁 閲忥紱imagelist2鎸囧悜鍥惧儚鍒楄〃鎺у埗瀵硅薄鐨勪竴涓寚閽堬紱nImage2鍥惧儚鍒楄〃2涓寘鍚殑鍥惧儚鏁伴噺锛沝x琛ㄧず浠ヨ薄绱犱负鍗曚綅鐨勫浘鍍忓搴︼紱dy琛ㄧず浠ヨ薄绱犱负鍗曚綅鐨勫浘鍍忛珮搴︺

銆銆鍚屾牱锛屽浘鍍忔帶鍒剁殑寤虹珛涔熷寘鎷袱涓楠わ紝棣栧厛寤虹珛鍥惧儚鍒楄〃缁撴瀯锛岀劧鍚庡缓绔嬪浘鍍忓垪琛ㄦ帶鍒躲

銆銆3銆佸浘鍍忔帶鍒剁殑灞炴х被

銆銆鍥惧儚鎺у埗鐨勫睘鎬х被鍖呮嫭杩斿洖m_hImageList.鎺у埗鍙ユ焺GetSafeHandle銆佸彇寰楀浘鍍忓垪琛ㄤ腑鐨勫浘鍍忔暟閲廏etImageCount銆佽缃浘鍍忓垪琛ㄧ殑鑳屾櫙棰滆壊SetBkColor銆佸彇寰楀浘鍍忓垪琛ㄧ殑鑳屾櫙棰滆壊SetBkColor鍜屽彇寰楀浘鍍忕殑鏈夊叧淇℃伅SetBkColor銆

銆銆4銆佸浘鍍忔帶鍒剁殑鎿嶄綔鏂规硶

銆銆鍥惧儚鎺у埗鐨勬搷浣滄柟娉曞寘鎷皢涓涓浘鍍忓垪琛ㄧ粦瀹氬埌涓涓璞′笂Attach銆佸皢瀵硅薄涓婄殑鍥惧儚鍒楄〃瑙i櫎缁戝畾骞惰繑鍥炲彞鏌凞etach銆佸垹闄や竴涓浘鍍忓垪琛―eleteImageList銆佸皢涓涓浘鍍忓鍔犲埌鍥惧儚鍒楄〃涓瑼dd鍜屽皢涓涓浘鍍忎粠鍥惧儚鍒楄〃涓垹闄emove绛夈

銆銆锛堜簩锛夊浘鍍忔帶鍒剁殑搴旂敤鎶宸

銆銆瀵逛簬鍥惧儚鎺у埗锛屽悓鏍蜂笉鑳藉崟鐙娇鐢紝蹇呴』涓庡垪琛ㄦ帶鍒躲佹爲鎺у埗鍜屾爣绛炬帶鍒剁浉浜掔粨鍚堝簲鐢紝涓嬮潰鍒嗗埆浠嬬粛鍏跺叿浣撳簲鐢ㄦ妧宸с

銆銆1銆佸浘鍍忔帶鍒跺湪鍒楄〃鎺у埗涓殑搴旂敤鎶宸

銆銆鈶犺缃浘鍍忔帶鍒禖ListCtrl::SetImageList鐨勮皟鐢ㄦ牸寮忓涓嬶細

CImageList* SetImageList( CImageList* pImageList, int nImageList );

銆銆鍏惰繑鍥炲兼槸鎸囧悜鍓嶄竴涓浘鍍忓垪琛ㄦ帶鍒剁殑涓涓寚閽堬紝濡傛灉涓嶅瓨鍦ㄥ墠涓涓浘鍍忓垪琛ㄥ垯涓篘ULL锛涘叾涓弬鏁皃ImageList鏄寚鍚戝浘鍍忓垪琛ㄧ殑鏍囪瘑锛宯ImageList鏄浘鍍忓垪琛ㄧ殑绫诲瀷锛屽彲浠ユ槸濡備笅鍊硷細

銆銆LVSIL_NORMAL 鐢ㄥぇ鍥炬爣鏂瑰紡杩涜鍥惧儚鍒楄〃锛

銆銆LVSIL_SMALL 鐢ㄥ皬鍥炬爣鏂瑰紡杩涜鍥惧儚鍒楄〃锛

銆銆LVSIL_STATE 浠ュ浘鍍忕姸鎬佽繘琛屽浘鍍忓垪琛紱

銆銆鈶″彇寰楀浘鍍忔帶鍒禖ListCtrl::GetImageList鐨勮皟鐢ㄦ牸寮忓涓嬶細

CImageList* GetImageList( int nImageList ) const;

銆銆鍏惰繑鍥炲间负鎸囧悜鍥惧儚鍒楄〃鎺у埗鐨勬寚閽堬紝鍏朵腑nImageList鐢ㄦ潵纭畾鍙栧緱杩斿洖鍊肩殑鍥惧儚鍒楄〃鐨 鍊硷紝鍏跺彇鍊间笌璁剧疆鍥惧儚鍒楄〃鍑芥暟鐩稿悓銆

銆銆鈶㈠浘鍍忔帶鍒跺湪鍒楄〃鎺у埗涓殑搴旂敤绀轰緥

銆銆CImageList Cil1,Cil2; //瀹氫箟澶у皬鍥炬爣鍍忓垪琛

銆銆CVCLISTApp *pApp=(CVCLISTApp *)AfxGetApp();//鍙栧緱鍒楄〃鎺у埗绋嬪簭

銆銆Cil1.Create(32,32,TRUE,2,2); //寤虹珛32浣嶅浘鍍忔帶鍒

銆銆Cil1.Add(pApp->LoadIcon(IDI_GJ));//澧炲姞閫変腑鐘舵佸浘鍍

銆銆Cil1.Add(pApp->LoadIcon(IDI_XS));//澧炲姞闈為変腑鐘舵佸浘鍍

銆銆Cil2.Create(16,16,TRUE,2,2); //寤虹珛16浣嶅浘鍍忔帶鍒

銆銆Cil2.Add(pApp->LoadIcon(IDI_GJ));//澧炲姞閫変腑鐘舵佸浘鍍

銆銆Cil2.Add(pApp->LoadIcon(IDI_XS));//澧炲姞闈為変腑鐘舵佸浘鍍

銆銆m_ListCtrl.SetImageList(&Cil1,LVSIL_NORMAL);//璁剧疆澶у浘鏍囨帶鍒

銆銆m_ListCtrl.SetImageList(&Cil2,LVSIL_SMALL);//璁剧疆灏忓浘鏍囨帶鍒

銆銆2銆佸浘鍍忔帶鍒跺湪鏍戞帶鍒朵腑鐨勫簲鐢ㄦ妧宸

銆銆鈶犺缃浘鍍忔帶鍒禖TreeCtrl::SetImageList鐨勮皟鐢ㄦ牸寮忓涓嬶細

CImageList* SetImageList( CImageList * pImageList, int nImageListType );

銆銆鍏惰繑鍥炲间负鎸囧悜鍓嶅墠涓涓浘鍍忓垪琛ㄧ殑鎸囬拡锛屽惁鍒欎负NULL锛涘弬鏁皃ImageList涓烘寚鍚戝浘鍍忓垪琛ㄧ殑鏍囪瘑锛屽鏋減ImageList涓篘ULL鍒欐墍鏈夌殑鍥惧儚閮藉皢浠庢爲鎺у埗涓娓呴櫎锛沶ImageListType涓哄浘鍍忓垪琛ㄨ缃殑绫诲瀷锛屽彲浠ユ槸濡備笅鍊间箣涓锛

銆銆TVSIL_NORMAL 璁剧疆姝e父鍥惧儚鍒楄〃锛屽叾涓寘鎷変腑鍜岄潪閫変腑涓ょ鍥炬爣锛

銆銆TVSIL_STATE 璁剧疆鍥惧儚鍒楄〃鐘舵侊紝鎸囩敤鎴疯嚜瀹氫箟鐘舵侊紱

銆銆鈶″彇寰楀浘鍍忔帶鍒禖TreeCtrl::GetImageList鐨勮皟鐢ㄦ牸寮忓涓嬶細

CImageList* GetImageList( UINT nImage );

銆銆濡傛灉璋冪敤鎴愬姛鍒欒繑鍥炲浘鍍忓垪琛ㄦ帶鍒舵寚閽堬紝鍚﹀垯涓篘ULL锛沶Image涓哄彇寰楄繑鍥炲肩殑鍥惧儚鍒楄〃绫诲瀷锛屽叾鍙栧煎拰鍙栧緱鍥惧儚鍒楄〃鎺у埗瀹屽叏鐩稿悓銆

銆銆鈶㈠浘鍍忔帶鍒跺湪鏍戞帶鍒朵腑鐨勫簲鐢ㄧず渚

CImageList Cil1,Cil2;//瀹氫箟澶у皬鍥炬爣鍍忓垪琛

CVCTREEApp *pApp=(CVCTREEApp *)AfxGetApp();//鑾峰彇搴旂敤绋嬪簭鎸囬拡

鎵撳嵃 | 鏀惰棌姝ら〉 |  鎺ㄨ崘缁欏ソ鍙 | 涓炬姤
涓婁竴绡 涓嬩竴绡
 

璇勫垎锛0

鍙戣〃璇勮
鏌ョ湅鍏ㄩ儴鍥炲銆愬凡鏈0浣嶇綉鍙嬪彂琛ㄤ簡鐪嬫硶銆