在Tab控件中,每一個標簽頁都可以有一個圖像,形成一個標簽頁上面帶有Icon特征的屬性。
如何實現呢?
需要用到一個新的類ImageList。在使用之前,還是需要添加兩個成員,一個是m_tab,一個是m_imagelist
當然,從名字可以看出他們的類型,一個和tab控件關聯,一個是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,"標簽1",0);
m_tab.InsertItem(1,"標簽2",1);
前面的一部分是創建imageList類型的對象,我們知道,很多的類雖然你聲明了,可是要調用創建的函數來初始化,這個在前面的Edit控件等等都有敘述,調用Create函數的時候,需要查API資料,看看那些參數并設置。
后面的兩句就是添加一個icon近期,如何做呢?前面有很好的例子,生成的代碼中,我們常常看到:
AfxGetApp()->LoadIcon(IDI_ICON1)
其中的AfxGetApp()是很常見的,表示的是就是整個MFC程序的一個主實例的指針,然后通過它來導入icon,生成icon對象后,就可以自然的放入到list中調用add函數。
生成完后,僅僅只是創建了,而沒有和tab控件關聯,所以需要調用SetImageList函數來關聯起來。
然后,就是添加標簽了。這一步比較簡單,當然,沒有前面那么繁雜,前面的做法是創建一個TCITEM的結構體,然后賦值,這里僅僅需要放入名字就可以了。我的理解是,因為名字,即字符串,就是一個指針,于是,就是相當于前面的那些做法,只不過這里指針順帶賦值了而已,于是才有了這個簡單的做法。
最后的參數多了一個,因為InsertItem這個函數可以重載,于是,就完成了基本的操作!
posted on 2010-02-08 13:59
deercoder 閱讀(973)
評論(0) 編輯 收藏 引用