<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jasmine214--love

    只有當(dāng)你的內(nèi)心總是充滿(mǎn)快樂(lè)、美好的愿望和寧?kù)o時(shí),你才能擁有強(qiáng)壯的體魄和明朗、快樂(lè)或者寧?kù)o的面容。
    posts - 731, comments - 60, trackbacks - 0, articles - 0

    圖像列表控制(CImageList)

    Posted on 2010-08-30 19:19 幻海藍(lán)夢(mèng) 閱讀(450) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): C++


    圖像列表控制(CImageList)是相同大小圖像的一個(gè)集合,每個(gè)集合中均以0為圖像的索引序號(hào)基數(shù),圖像列表通常由大圖標(biāo)或位圖構(gòu)成,其中包含透明位圖模式。
    可以利用WINDOWS32位應(yīng)用程序接口函數(shù)API來(lái)繪制、建立和刪除圖像,并能實(shí)現(xiàn)增加、刪除、替換和拖動(dòng)圖像等操作。圖像列表控制提供了控制圖像列表的基本方法,這些方法在WINDOWS95及以后版本才能實(shí)現(xiàn)。

    一、圖像控制的對(duì)象結(jié)構(gòu)

    1 圖像控制的數(shù)據(jù)成員

    m_hImageList 連接圖像對(duì)象的控制句柄

    2 圖像控制的建立方法

    CimageListimageList建立圖像控制對(duì)象結(jié)構(gòu)

    Create 初始化圖像列表并綁定對(duì)象

    圖像控制的建立方法如下:

    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 );

    其中各項(xiàng)參數(shù)的含義為:cx定義圖像的寬度,單位為象素;cy定義圖象的高度,單位為象素;nFlags確定建立圖像列表的類(lèi)型,可以是以下值的組合: ILC_COLORILC_COLOR4ILC_COLOR8ILC_COLOR16ILC_COLOR24ILC_COLOR32 ILC_COLORDDBILC_MASKnInitial用來(lái)確定圖像列表包含的圖像數(shù)量;nGrow用來(lái)確定圖像列表可控制的圖像數(shù)量。

    NbitmapID 用來(lái)確定圖像列表聯(lián)系的位圖標(biāo)志值;crMask表示顏色屏蔽位;

    LpszBitmapID 用來(lái)確定包含位圖資源的標(biāo)識(shí)串;

    imagelist1 指向圖像列表控制對(duì)象的一個(gè)指針;nImage1圖像列表1中包含的圖像數(shù)量;imagelist2指向圖像列表控制對(duì)象的一個(gè)指針;nImage2圖像列表2中包含的圖像數(shù)量;dx表示以象素為單位的圖像寬度;dy表示以象素為單位的圖像高度。

    同樣,圖像控制的建立也包括兩個(gè)步驟,首先建立圖像列表結(jié)構(gòu),然后建立圖像列表控制。

    3 圖像控制的屬性類(lèi)

    圖像控制的屬性類(lèi)包括返回m_hImageList.控制句柄GetSafeHandle、取得圖像列表中的圖像數(shù)量GetImageCount、設(shè)置圖像列表的背景顏色SetBkColor、取得圖像列表的背景顏色SetBkColor和取得圖像的有關(guān)信息SetBkColor

    4 圖像控制的操作方法

    圖像控制的操作方法包括將一個(gè)圖像列表綁定到一個(gè)對(duì)象上Attach、將對(duì)象上的圖像列表解除綁定并返回句柄Detach、刪除一個(gè)圖像列表DeleteImageList、將一個(gè)圖像增加到圖像列表中Add和將一個(gè)圖像從圖像列表中刪除Remove等。

    二、圖像控制的應(yīng)用技巧

    對(duì)于圖像控制,同樣不能單獨(dú)使用,必須與列表控制、樹(shù)控制和標(biāo)簽控制相互結(jié)合應(yīng)用,下面分別介紹其具體應(yīng)用技巧。

    1 圖像控制在列表控制中的應(yīng)用技巧

    1.1 設(shè)置圖像控制CListCtrl::SetImageList的調(diào)用格式如下:

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

    其返回值是指向前一個(gè)圖像列表控制的一個(gè)指針,如果不存在前一個(gè)圖像列表則為NULL;其中參數(shù)pImageList是指向圖像列表的標(biāo)識(shí),nImageList是圖像列表的類(lèi)型,可以是如下值:

    LVSIL_NORMAL 用大圖標(biāo)方式進(jìn)行圖像列表;

    LVSIL_SMALL 用小圖標(biāo)方式進(jìn)行圖像列表;

    LVSIL_STATE 以圖像狀態(tài)進(jìn)行圖像列表;

    1.2 取得圖像控制CListCtrl::GetImageList的調(diào)用格式如下:

    CImageList* GetImageList( int nImageList ) const;

    其返回值為指向圖像列表控制的指針,其中nImageList用來(lái)確定取得返回值的圖像列表的值,其取值與設(shè)置圖像列表函數(shù)相同。

    ③圖像控制在列表控制中的應(yīng)用示例

    CImageList Cil1,Cil2; //定義大小圖標(biāo)像列表

    CVCLISTApp *pApp=(CVCLISTApp *)AfxGetApp();//取得列表控制程序

    Cil1.Create(32,32,TRUE,2,2);//建立32位圖像控制

    Cil1.Add(pApp->LoadIcon(IDI_GJ));//增加選中狀態(tài)圖像

    Cil1.Add(pApp->LoadIcon(IDI_XS));//增加非選中狀態(tài)圖像

    Cil2.Create(16,16,TRUE,2,2); //建立16位圖像控制

    Cil2.Add(pApp->LoadIcon(IDI_GJ));//增加選中狀態(tài)圖像

    Cil2.Add(pApp->LoadIcon(IDI_XS));//增加非選中狀態(tài)圖像

    m_ListCtrl.SetImageList(&Cil1,LVSIL_NORMAL);//設(shè)置大圖標(biāo)控制

    m_ListCtrl.SetImageList(&Cil2,LVSIL_SMALL);//設(shè)置小圖標(biāo)控制

    2 圖像控制在樹(shù)控制中的應(yīng)用技巧

    2.1 設(shè)置圖像控制CTreeCtrl::SetImageList的調(diào)用格式如下:

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

    其返回值為指向前前一個(gè)圖像列表的指針,否則為NULL;參數(shù)pImageList為指向圖像列表的標(biāo)識(shí),如果pImageListNULL則所有的圖像都將從樹(shù)控制中被清除;nImageListType為圖像列表設(shè)置的類(lèi)型,可以是如下值之一:

    TVSIL_NORMAL 設(shè)置正常圖像列表,其中包括選中和非選中兩種圖標(biāo);

    TVSIL_STATE 設(shè)置圖像列表狀態(tài),指用戶(hù)自定義狀態(tài);

    2.2 取得圖像控制CTreeCtrl::GetImageList的調(diào)用格式如下:

    CImageList* GetImageList( UINT nImage );

    如果調(diào)用成功則返回圖像列表控制指針,否則為NULLnImage為取得返回值的圖像列表類(lèi)型,其取值和取得圖像列表控制完全相同。

    2.3 圖像控制在樹(shù)控制中的應(yīng)用示例

    CImageList Cil1,Cil2;//定義大小圖標(biāo)像列表

    CVCTREEApp *pApp=(CVCTREEApp *)AfxGetApp();//獲取應(yīng)用程序指針

    Cil1.Create(16,16,ILC_COLOR,2,2);//建立圖像控制

    Cil1.Add(pApp->LoadIcon(IDI_PM));//增加選中狀態(tài)圖像

    Cil1.Add(pApp->LoadIcon(IDI_CJ));//增加非選中狀態(tài)圖像

    m_TreeCtrl.SetImageList(&Cil1,TVSIL_NORMAL);//設(shè)置圖像控制列表

    然后在樹(shù)控制的結(jié)構(gòu)定義中進(jìn)行如下設(shè)置:

    TCItem.item.iImage=0; //設(shè)置未選中圖像索引號(hào)

    TCItem.item.iSelectedImage=1;//設(shè)置選中時(shí)圖像引號(hào)

    3 圖像控制在控制中的應(yīng)用技巧

    1.設(shè)置圖像控制CTabCtrl::SetImageList的調(diào)用格式

    CImageList * SetImageList( CImageList * pImageList );

    其返回值為指向前一個(gè)圖像列表的指針,如果不存在前一個(gè)圖像列表則為NULLpImageList為標(biāo)識(shí)TAB控制的圖像列表指針。

    2 取得圖像控制CTabCtrl::GetImageList的調(diào)用格式

    HIMAGELIST GetImageList() const;

    其返回值為指向TAB控制的圖像列表指針,如果調(diào)用不成功則為NULL
    http://www.cnblogs.com/sherlockhua/archive/2008/02/11/1067013.html

    主站蜘蛛池模板: 老妇激情毛片免费| 亚洲人成77777在线观看网| 国产免费阿v精品视频网址| 亚洲AV无码精品无码麻豆| a毛看片免费观看视频| 色噜噜综合亚洲av中文无码| 永久在线免费观看| 亚洲av永久无码| 国产午夜亚洲精品国产成人小说| 七色永久性tv网站免费看| 国产成人精品亚洲日本在线 | 亚洲人成网亚洲欧洲无码久久| APP在线免费观看视频| 日本中文字幕免费看| 亚洲精品高清无码视频| 永久免费av无码不卡在线观看 | 国产精品视_精品国产免费| 春意影院午夜爽爽爽免费| 亚洲国产一区在线| 国产精品自在自线免费观看| 国产在线观看免费观看不卡 | 亚洲?v女人的天堂在线观看| 美女视频黄的免费视频网页| 中国china体内裑精亚洲日本| 亚洲网站免费观看| 久久影院亚洲一区| 亚洲欧洲一区二区三区| 亚洲免费在线视频观看| 免费在线观看自拍性爱视频| 蜜臀亚洲AV无码精品国产午夜.| 亚洲精品卡2卡3卡4卡5卡区| 中文字幕日韩亚洲| 国产AV无码专区亚洲AV漫画| 在线成人a毛片免费播放| 二个人看的www免费视频| 亚洲字幕AV一区二区三区四区| 亚洲午夜精品久久久久久浪潮 | 一区二区三区亚洲视频| 免费一级毛片免费播放| 99re在线这里只有精品免费| 成人国产网站v片免费观看|