分享

CTabCtrl 控件显示位图或者图标

 启蒙彩魂 2010-12-15

CTabCtrl 控件显示位图或者图标

 BOOL CMyPropSheet::OnInitDialog()

{

        BOOL bResult = CPropertySheet::OnInitDialog();

 

        m_imageTab.Create( IDB_TABIMAGES, 13, 1, RGB(255,255,255) );  //创建一个CImageList的类

        CTabCtrl *pTab = GetTabControl();                              

        pTab->SetImageList( &m_imageTab );                             //tab控件设置ImageList

        //也可可以不指定像素,可以使用CImageList 的Add方法实现,可以Add位图或者图标

        TC_ITEM tcItem;

        tcItem.mask = TCIF_IMAGE;

        for( int i = 0; i < 3; i++ )

        {

               tcItem.iImage = i;

               pTab->SetItem( i, &tcItem );                            //显示ImageList的序号

        }

        return bResult;

}

我做一个显示ICO的例子

CTabCtrl  m_TabPanel;

CImageList  m_ImageList;

 m_ImageList.Create(16,16,ILC_COLOR8|ILC_MASK,3,0);

 m_ImageList.Add(::AfxGetApp()->LoadIconA(IDI_ICON1));

 m_ImageList.Add(::AfxGetApp()->LoadIconA(IDI_ICON2));

 m_ImageList.Add(::AfxGetApp()->LoadIconA(IDI_ICON3));

 m_TabPanel.SetImageList(&m_ImageList);

 m_TabPanel.InsertItem(0,_T("配置参数"),0);

 m_TabPanel.InsertItem(1,_T("号码添加"),1);

 m_DlgPage1.Create(IDD_DLG_ONE,GetDlgItem(IDC_TAB_PANEL));        //关联对话框

 m_DlgPage2.Create(IDD_DLG_TWO,GetDlgItem(IDC_TAB_PANEL));     
 
问:
CImageList   imageList;
imageList.Create(48,   48,   ILC_COLOR24   ,   0,   1);
HICON   iconhandle   =   (HICON)LoadImage(NULL,MAKEINTRESOURCE(IDB_BITMAP_UPSEND),IMAGE_BITMAP,48,48,LR_DEFAULTCOLOR);
imageList.Add(iconhandle);
       
m_tlable.SetImageList(&imageList);

TCITEM       item;          
item.mask   =   TCIF_IMAGE|TCIF_TEXT;          
item.pszText   =   "发送命令数据窗口 ";  
item.iImage   =   0;

m_tlable.InsertItem(0,&item)  

图片的大小好象没有什么关系,我大图小图都测试过了,不行.

答:

你先不要贴位图,先贴图标,看能不能出来.
算了,不用了,
你的CImageList   imageList;
这是不是在一个函数中,那么当函数调用结束后,这个对话被释放了,所以应该不对了,试着将该对象声明为成员变量.就应该没问题了.

在你的指引下我将CImageList   imageList;   和   HICON   iconhandle   声名成私有变量,运行程序图表出现,再次表示感谢!
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多