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();//鑾峰彇搴旂敤绋嬪簭鎸囬拡




发表于 2009-1-5 19:48
| 











