VC通用控件编程之CImageList控件

豆豆网   技术应用频道   2006年07月30日  【字号: 收藏本文

本文详细介绍VC通用控件编程之CImageList控件

  ③图像控制在列表控制中的应用示例

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、图像控制在树控制中的应用技巧

  ①设置图像控制CTreeCtrl::SetImageList的调用格式如下:

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

  其返回值为指向前前一个图像列表的指针,否则为NULL;参数pImageList为指向图像列表的标识,如果pImageList为NULL则所有的图像都将从树控制中被清除;nImageListType为图像列表设置的类型,可以是如下值之一:

  TVSIL_NORMAL 设置正常图像列表,其中包括选中和非选中两种图标;

  TVSIL_STATE 设置图像列表状态,指用户自定义状态;

  ②取得图像控制CTreeCtrl::GetImageList的调用格式如下:

CImageList* GetImageList( UINT nImage );

  如果调用成功则返回图像列表控制指针,否则为NULL;nImage为取得返回值的图像列表类型,其取值和取得图像列表控制完全相同。

  ③图像控制在树控制中的应用示例

CImageList Cil1,Cil2;//定义大小图标像列表
CVCTREEApp *pApp=(CVCTREEApp *)AfxGetApp();//获取应用程序指针
Cil1.Create(16,16,ILC_COLOR,2,2);//建立图像控制
Cil1.Add(pApp->LoadIcon(IDI_PM));//增加选中状态图像
Cil1.Add(pApp->LoadIcon(IDI_CJ));//增加非选中状态图像
m_TreeCtrl.SetImageList(&Cil1,TVSIL_NORMAL);//设置图像控制列表

  然后在树控制的结构定义中进行如下设置:

TCItem.item.iImage=0; //设置未选中图像索引号
TCItem.item.iSelectedImage=1;//设置选中时图像引号

  3、图像控制在标签控制中的应用技巧

  ①设置图像控制CTabCtrl::SetImageList的调用格式

CImageList * SetImageList( CImageList * pImageList );

  其返回值为指向前一个图像列表的指针,如果不存在前一个图像列表则为NULL;pImageList为标识TAB控制的图像列表指针。

  ②取得图像控制CTabCtrl::GetImageList的调用格式

HIMAGELIST GetImageList() const;

  其返回值为指向TAB控制的图像列表指针,如果调用不成功则为NULL。

  其应用技巧较前两种更加简单,这里不再赘述。

责编:豆豆技术应用

正在加载评论...