📄 6.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>属性表标签上的位图在MFC及C++BUILDER下的实现</title>
</head>
<div><center>
<table border="0" width="640">
<tr><td align="center"><b>属性表标签上的位图在MFC 及C++BUILDER下的实现</b></td></tr>
<tr><td align="center"><font color="#CC9933"></font></td></tr>
<tr><td> 属性表标签(tab control)支持在每一个item上放Image 图片。在mfc下实现相当简单,可分为以下几步:<br> <br> step1: create a bitmap resource with the images<br> <br> you can also use icons or even create the images at run time.<br> the size of the images should be in proportion to the height<br> of the label.<br> step2: add member variable of type Cimagelist<br> <br> protected:<br> CImagelist m_imagetab;<br><br> step3: Override OnInitDialog() and add code to it<br><br> bool CmyPropSheet::OnInitDialog()<br> {<br> bool bresult=CProperttySheet::OnInitDialog();<br> m_imagetab.create(IDB_TABIMAGES,13,1,RGB(255,255,255));<br> CTabCtrl *pTab=GetTabControl();<br> pTab->SetImageList(&m_imagetab);<br> <br> tc_item tcitem;<br> tcitem.mask=tcif_image;<br> <br> for(int i=0;i<3;i++)<br> { <br> tcitem.iimage=i;<br><br> pTab->SetItem(i,&tcitem);<br> }<br> return bresult;<br> }<br><br>C++Builder 没有提供 SetImageList,SetItem这样的函数,但我们可以直接处理WINDOWS API 消息:TCM_SETIMAGELIST,TCM_SETITEM. 看下面的代码可以体会不同的编程风格。<br><br>void __fastcall TForm1::FormPaint(TObject *Sender)<br>{<br><br><br> TabControl1->Perform ( TCM_SETIMAGELIST, 0, ImageList1->Handle );<br><br> TCITEM tcitem;<br> tcitem.mask=TCIF_IMAGE ;<br> for(int i=0;i<3;i++)<br> {<br> tcitem.iImage=i;<br> TabControl1->Perform ( TCM_SETITEM, i,(LPARAM) (LPTCITEM) &tcitem );<br><br> }<br><br>}</td></tr>
</table></center></div>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -