1. 将 icon 图片copy 到工程目录下的 res 文件夹内并导入
2. 在对话框 .h 文件中添加 CImageList 对象
如下 CImageList m_TabImageList;
#pragma once
// Chart 对话框
class Chart : public CDialogEx
{
DECLARE_DYNAMIC(Chart)
public:
Chart(CWnd* pParent = NULL); // 标准构造函数
virtual ~Chart();
// 对话框数据
enum { IDD = IDD_CHART1};
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
DECLARE_MESSAGE_MAP()
public:
virtual BOOL OnInitDialog();
CTabCtrl m_tab;
//*****************************
CImageList m_TabImageList;
//*****************************
};
3. 在对话框 .cpp 文件 OnInitDialog 函数中添加如下代码
BOOL Chart::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: 在此添加额外的初始化
//*********************************
//Creat(int cx, int cy, UINT nFlags, int 几个tab写几个, int 扩展用的,非动态tab 0就好,一次扩展nGrow个)
m_TabImageList.Create(24, 24, ILC_COLOR32 | ILC_MASK, 2, 0);
HICON hIcon1, hIcon2, hIcon3;
hIcon1 = AfxGetApp()->LoadIcon(IDI_ICON1);
hIcon2 = AfxGetApp()->LoadIcon(IDI_ICON2);
SetIcon(hIcon1, TRUE);
m_TabImageList.Add(hIcon2);
m_TabImageList.Add(hIcon3);
m_tab.SetImageList(&m_TabImageList);
m_tab.InsertItem(0, _T("Tab1"), 0);
m_tab.InsertItem(1, _T("Tab2"), 1);
//*********************************
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
注意: InsertItem 函数必须使用有 3 个参数的重载函数,第 3 个参数即表示使用哪个图标。