在Tab控件中,每一個(gè)標(biāo)簽頁都可以有一個(gè)圖像,形成一個(gè)標(biāo)簽頁上面帶有Icon特征的屬性。
如何實(shí)現(xiàn)呢?
需要用到一個(gè)新的類ImageList。在使用之前,還是需要添加兩個(gè)成員,一個(gè)是m_tab,一個(gè)是m_imagelist
當(dāng)然,從名字可以看出他們的類型,一個(gè)和tab控件關(guān)聯(lián),一個(gè)是imageList類型。
然后添加初始代碼:
m_imagelist.Create(24,24,ILC_COLOR24|ILC_MASK,1,0);
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
m_tab.SetImageList(&m_imagelist);
===============================================
m_tab.InsertItem(0,"標(biāo)簽1",0);
m_tab.InsertItem(1,"標(biāo)簽2",1);
前面的一部分是創(chuàng)建imageList類型的對(duì)象,我們知道,很多的類雖然你聲明了,可是要調(diào)用創(chuàng)建的函數(shù)來初始化,這個(gè)在前面的Edit控件等等都有敘述,調(diào)用Create函數(shù)的時(shí)候,需要查API資料,看看那些參數(shù)并設(shè)置。
后面的兩句就是添加一個(gè)icon近期,如何做呢?前面有很好的例子,生成的代碼中,我們常常看到:
AfxGetApp()->LoadIcon(IDI_ICON1)
其中的AfxGetApp()是很常見的,表示的是就是整個(gè)MFC程序的一個(gè)主實(shí)例的指針,然后通過它來導(dǎo)入icon,生成icon對(duì)象后,就可以自然的放入到list中調(diào)用add函數(shù)。
生成完后,僅僅只是創(chuàng)建了,而沒有和tab控件關(guān)聯(lián),所以需要調(diào)用SetImageList函數(shù)來關(guān)聯(lián)起來。
然后,就是添加標(biāo)簽了。這一步比較簡單,當(dāng)然,沒有前面那么繁雜,前面的做法是創(chuàng)建一個(gè)TCITEM的結(jié)構(gòu)體,然后賦值,這里僅僅需要放入名字就可以了。我的理解是,因?yàn)槊郑醋址褪且粋€(gè)指針,于是,就是相當(dāng)于前面的那些做法,只不過這里指針順帶賦值了而已,于是才有了這個(gè)簡單的做法。
最后的參數(shù)多了一個(gè),因?yàn)镮nsertItem這個(gè)函數(shù)可以重載,于是,就完成了基本的操作!
posted on 2010-02-08 13:59
deercoder 閱讀(976)
評(píng)論(0) 編輯 收藏 引用