CImageList m_imagetab; 成員OnInitDialog:BOOL CMyPropSheet::OnInitDialog() {
BOOL b = CPropertySheet::OnInitDialog();
m_imagetab.Create(IDB_TABIMAGES, 13, 1, RGB(255,255,255));
CTabCtrl *pTab = GetTabControl();
pTab->SetImageList(&m_imagetab);
TC_ITEM item; item.mask = TCIF_IMAGE;
for (int i=0; i<3; ++i) { item.iImage = i; pTab->SetItem(i, &item); }
return b;
}
無 SetImageList/SetItem 封裝,直接發送 Windows 訊息:
void __fastcall TForm1::FormPaint(TObject *Sender) {
TabControl1->Perform(TCM_SETIMAGELIST, 0, ImageList1->Handle);
TCITEM item; item.mask = TCIF_IMAGE;
for (int i=0; i<3; ++i) {
item.iImage = i;
TabControl1->Perform(TCM_SETITEM, i, (LPARAM)(LPTCITEM)&item);
}
}
兩種風格對比:MFC 封裝類別 vs BCB 直接訊息傳遞,功能等效。