频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

属性表标签上的位图在MFC,CB下的实现

来源: 作者: 出处:巧巧读书 2007-10-09 进入讨论组

  属性表标签(tab control)支持在每一个item上放Image 图片。在mfc下实现相当简单,可分为以下几步:

  step1: create a bitmap resource with the images
       
       you can also use icons or even create the images at run time.
       the size of the images should be in proportion to the height
       of the label.
   step2: add member variable of type Cimagelist
       
       protected:
            CImagelist m_imagetab;
   step3: Override OnInitDialog() and add code to it
       bool CmyPropSheet::OnInitDialog()
       {
         bool bresult=CProperttySheet::OnInitDialog();
         m_imagetab.create(IDB_TABIMAGES,13,1,RGB(255,255,255));
         CTabCtrl *pTab=GetTabControl();
         pTab->SetImageList(&m_imagetab);
         
         tc_item tcitem;
         tcitem.mask=tcif_image;
         
         for(int i=0;i<3;i++)
         { 
           tcitem.iimage=i;
            pTab->SetItem(i,&tcitem);
         }
         return bresult;
        }

  C++Builder 没有提供 SetImageList,SetItem这样的函数,但我们可以直接处理WINDOWS API 消息:TCM_SETIMAGELIST,TCM_SETITEM. 看下面的代码可以体会不同的编程风格。

  void __fastcall TForm1::FormPaint(TObject *Sender)
{
   TabControl1->Perform ( TCM_SETIMAGELIST, 0, ImageList1->Handle );
   TCITEM tcitem;
   tcitem.mask=TCIF_IMAGE ;
   for(int i=0;i<3;i++)
   {
     tcitem.iImage=i;
     TabControl1->Perform ( TCM_SETITEM, i,(LPARAM) (LPTCITEM)   &tcitem );
    }
}

URl收藏 http://www.qqread.com/vc/u354887.html进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章