?? tree控件使用.txt
字號:
樹控制和視(Tree
Control&View)主要用來顯示具有一定層次結(jié)構(gòu)的數(shù)據(jù)項,如資源管理器中的磁盤目錄等,?
數(shù)據(jù)項,可通過鼠標(biāo)雙擊來展開或合攏,這可以通過控制樹的不同風(fēng)格來實現(xiàn)樹控制的不同
TVS_HASLINES表示用連線來連接父項和它下面的各個子項,這可以使樹的顯示層次結(jié)構(gòu)更加
TVS_LINESATROOT表示在無父項的各子項即根下面的各子項之間存在連線;
TVS_HASBUTTONS表示在帶有子項的父項前面增加一個帶“+”或“-”的按鈕,這使得用戶
這一風(fēng)格同樣對于根項無效,如果需要可通過組合TVS_LINESATROOT風(fēng)格來實現(xiàn);
TVS_EDITLABELS表示允許讓用戶單擊具有輸入焦點的數(shù)據(jù)項來修改其名稱。
對于樹控制,MFC中也以兩種形式來封裝,即樹控制(CTREECTRL)和樹視(CTREEVIEW),?
求。當(dāng)在窗口中使用樹視時,樹視會占滿兩個窗口的客戶區(qū)域并自動隨窗口的框架結(jié)構(gòu)的調(diào)
= GetTreeCtrl()。
Top
4樓 ilbhh (淺嘗輒止) 回復(fù)于 2003-07-31 15:17:36 得分 0
char * CJ[4]={"玉溪卷煙廠","云南卷煙廠","沈陽卷煙廠","成都卷煙廠"};//根數(shù)據(jù)名稱
char * PM[4][5]={
{"紅梅一","紅梅二","紅梅三","紅梅四","紅梅五"},//產(chǎn)品數(shù)據(jù)項
{"白梅一","白梅二","白梅三","白梅四","白梅五"},
{"綠梅一","綠梅二","綠梅三","綠梅四","綠梅五"},
{"青梅一","青梅二","青梅三","青梅四","青梅五"}};
int i,j;
HTREEITEM hRoot,hCur;//樹控制項目句柄
TV_INSERTSTRUCT TCItem;//插入數(shù)據(jù)項數(shù)據(jù)結(jié)構(gòu)
//都在設(shè)置要插入項的屬性信息
TCItem.hParent=TVI_ROOT;//增加根項
TCItem.hInsertAfter=TVI_LAST;//插到最后項之后
TCItem.item.mask=TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE;//設(shè)屏蔽 模式
TCItem.item.pszText="數(shù)據(jù)選擇"; //字段值
TCItem.item.lParam=0;//序號
TCItem.item.iImage=0;//正常圖標(biāo)
TCItem.item.iSelectedImage=1;//選中時圖標(biāo)
hRoot=m_TreeCtrl.InsertItem(&TCItem);//返回根項句柄
for(i=0;i<4;i++){//增加各廠家
TCItem.hParent=hRoot;
TCItem.item.pszText=CJ[i];
TCItem.item.lParam=(i+1)*10;//子項序號
hCur=m_TreeCtrl.InsertItem(&TCItem);
for(j=0;j<5;j++){//增加各產(chǎn)品
TCItem.hParent=hCur;
TCItem.item.pszText=PM[i][j];
TCItem.item.lParam=(i+1)*10+(j+1);//子項序號
m_TreeCtrl.InsertItem(&TCItem);
}
m_TreeCtrl.Expand(hCur,TVE_EXPAND);//展開樹
}
m_TreeCtrl.Expand(hRoot,TVE_EXPAND);//展開上一級樹
Top
5樓 ilbhh (淺嘗輒止) 回復(fù)于 2003-07-31 15:18:35 得分 45
查看功能的實現(xiàn)
查看功能用來查看選中樹項的有關(guān)信息,函數(shù)中中顯示了樹項的文本名稱和標(biāo)識號,可以將
void CVCTREEDlg::OnView()
{ //查看選中項功能函數(shù)
HTREEITEM hSel=m_TreeCtrl.GetSelectedItem();//取得選項句柄;
if(hSel==NULL) return;//無任何選項則返回
CString cText=m_TreeCtrl.GetItemText(hSel);//取得數(shù)據(jù)項名
LONG IDs=m_TreeCtrl.GetItemData(hSel);//取得數(shù)據(jù)項序號
char temp[100];
wsprintf(temp,"廠家:%s 編號:%05d",cText,IDs);
MessageBox(temp,"選擇信息");
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -