知識點:認識ctreectrl
ctreectrl控制項屬性
ctreectrl新增根項
ctreectrl新增子項
一、ctreectrl控制項屬性
先設定ctreectrl的屬性:
has lines
true
顯示關係線
lines at root
true 顯示根結點的 關係線和+-號
has button
true 顯示+-號
edit labels
true
則對應 滑鼠單擊修改樹項的名稱
//視窗樣式 create函式時用
ctreectrl::create的呼叫格式如下:
bool create( dword dwstyle,
const rect& rect, cwnd*pparentwnd, uint nid );
dwstyle可以是以下值的組合
tvs_haslines 表示樹控制在各子項之間存在連線;
tvs_linesatroot 表示樹控制在根項之間存在連線;
tvs_hasbuttons 表示樹控制視在父項左側存在展開合攏控制按鈕;
tvs_editlabels 表示可以控制滑鼠單擊修改樹項的名稱;
tvs_showselalways 表示選中項即使在視窗失去輸入焦點時仍然保持選中狀態;
tvs_disabledragdrop表示禁止樹控制傳送tvn_begindrag訊息
二、ctreectrl新增根項
htreeitem insertitem(
lpctstr lpszitem,
//htreeitem hparent =tvi_root,
htreeitem hinsertafter =tvi_last
);//
位置#define tvi_root ((htreeitem)(ulong_ptr)-0x10000)
#define tvi_first ((htreeitem)(ulong_ptr)-0x0ffff)
#define tvi_last ((htreeitem)(ulong_ptr)-0x0fffe)
#define tvi_sort ((htreeitem)(ulong_ptr)-0x0fffd)三、ctreectrl新增子項
htreeitem insertitem(
lpctstr lpszitem,
//htreeitem hparent = tvi_root, //
指定父項
htreeitem hinsertafter = tvi_last //
指定插入位置 在hinsertafter 之後
);//
todo: 在此新增控制項通知處理程式**
ctreectrl* ptree=(ctreectrl*)getdlgitem(idc_tree1);
htreeitem hitem=ptree->insertitem(l"
我的電腦");
//插入子項
ptree->insertitem(l"
aaaa
",hitem,tvi_last);
ptree->insertitem(l"
bbbb
",hitem,tvi_last);
htreeitem hsubitem =ptree->insertitem(l"
ccc"
,hitem,tvi_last);
ptree->insertitem(l"
3333
",hsubitem,tvi_sort);
ptree->insertitem(l"
1111
",hsubitem,tvi_sort);
ptree->insertitem(l"
2222aaaa
",hsubitem,tvi_sort);
ptree->insertitem(l"
2222
",hsubitem,tvi_sort);
ptree->insertitem(l"
我的文件");
ptree->insertitem(l"
網路上的芳鄰");
}
MFC CTreeCtrl展開摺疊事件
最近搞ctreectrl控制項,發現只有節點展開事件,沒有節點摺疊事件,實際情況是展開和摺疊走的是同乙個事件tvn itemexpanded 完成 要判斷當前節點是展開還是摺疊可以用下面的方法 if tvis expanded getitemstate hitem,tvis expanded els...
C 控制項 MenuStrip控制項(選單控制項)
一 概述 選單通過存放按照一般主題分組的命令將功能公開給使用者。menustrip 控制項是此版本的 visual studio 和 net framework 中的新功能。使用該控制項,可以輕鬆建立 microsoft office 中那樣的選單。menustrip 控制項支援多文件介面 mdi ...
隱藏控制項 HiddenField控制項
hiddenfield 控制項hiddenfield 控制項顧名思義就是隱藏輸入框的伺服器控制項 它能讓你儲存那些不需要顯示在頁面上的且對安全性要求不高的資料。也許這個時候應該有這麼乙個疑問,為什麼有了 viewstate session 和cookie 等狀態儲存機制,還需要用起 hiddenfi...