14 樹控制項及標籤頁程式設計

2021-09-13 22:02:27 字數 1945 閱讀 2324

樹控制項(tree control)的常用屬性如下:

常用屬性設定:

屬性

含義

has buttons

true 有展開按鈕

has lines

true 有展開線

lines at root

true 有根節點

常用介面:

介面

功能

獲取應用程式物件指標

載入自定義圖示

cimagelist::create

建立影象列表

cimagelist::add

影象列表追加圖示

ctreectrl::setimagelist

設定圖形狀態列表

ctreectrl::insertitem

插入節點

ctreectrl::selectitem

設定預設選中項

ctreectrl::getselecteditem

獲取選中項

ctreectrl::getitemtext

獲取某項內容

樹控制項程式設計示例:

1、新建mfc應用程式後,新增樹控制項(tree control),並關聯變數。

2、新增一些icon資源檔案

3、載入圖示

//載入圖示

hicon icon[3];

4、建立影象列表

.h 檔案類中定義圖形列表(cimagelist)物件,因為如果放在區域性函式內,會自動釋放

5、oninitdialog()函式中完成影象列表的建立、圖示的追加

//ilc_color32表示樣式

m_imagelist.create(30, 30, ilc_color32, 3, 3);

//給影象列表新增

for (int i = 0; i < 3; i++)

//樹控制項設定列表

m_treectrl.setimagelist(&m_imagelist, tvsil_normal);

//給樹建立節點

//根節點,父節點,子節點

htreeitem root = m_treectrl.insertitem(text("中國"), 0, 0, null);

htreeitem fathter = m_treectrl.insertitem(text("北京"), 1, 1, root);

htreeitem son = m_treectrl.insertitem(text("海淀"), 2, 2, fathter);

//設定某個節點被選中

m_treectrl.selectitem(fathter);

選中某個節點將會觸發tvn_selchange事件,我們可以重寫該事件。

void cmy01_treectrldlg::ontvnselchangedtree1(nmhdr *pnmhdr, lresult *presult)

需要在標籤頁(tab control)的屬性介面裡設定style為child,bolder置為none。

主對話方塊類中 oninitdialog() 做初始化工作。

//給tab控制項新增對話方塊

//idd_dialog1為dlg1資源id,dlg1為新建的對話方塊類

m_tabctrl.addpage(text("系統管理"), &dlg1, idd_dialog1);

//idd_dialog2為dlg2資源id,dlg2為新建的對話方塊類

m_tabctrl.addpage(text("系統設定"), &dlg2, idd_dialog2);

//顯示tab控制項

m_tabctrl.show();

每日一Vim(14)標籤頁(tab)

上期講了多視窗的一些操作,其中有提到把乙個視窗移動標籤頁的技巧,命令 ctrl w t,今天就來簡單聊聊標籤頁的操作。新建標籤頁 tabe 新建未命名的標籤頁 tabe file 在新標籤頁中開啟或新建檔案file tabnew 和tabe命令功能一樣 tab split 在新標籤頁中開啟當前視窗 ...

訪問母版頁控制項及屬性

1 通過findcontrol找控制項id 需要在此事件中 因為page load中時是先內容頁載入然後才是母版頁載入 protected void page loadcomplete object sender,eventargs e 2 通過強引用 page language c masterp...

cms及展示頁標籤過濾

cms系統是使用者可以編寫內容的系統,通過內容填充的方式展現。一般的cms是通過富文字編輯器來編輯,編輯器通常都會有一些過濾功能。如果要實現簡單的過濾,比如防止使用者寫乙個之類的,js可以通過encode來過濾,將標籤轉義 velovity可以通過html 函式來轉為string 就這樣 還有一種問...