MFCツリーコントロール

MFCツリーコントロール

1.最初にウィンドウ内のコントロールをドラッグします

2.プロパティを設定します。

線がある:点線を使用してノードレベルをリンクします

Butonあり:折りたたみボタンと展開ボタンを追加

3.写真のコレクションを設定します

3.1 SetImageList(CImageList * list、通常の表示マクロ)

3.1.1 CImageListオブジェクトは.hファイルで宣言されており、ヒープで使用された場合はリサイクルされます

3.2 create create(30、30 xxビットカラー、4、4)を作成します

3.3 add(HICON)

4.ノードを追加します

4.1 InsertItem(ノード名、表示画像、選択した画像、親ノード)

5.デフォルトノードのSelectItemを設定します

 // 1アイコンを設定します
 // CImageListリスト; //アイコンリストはグローバルとして宣言する必要があります。そうしないと、ヒープに配置して使用した後に削除されます
 。.hファイルに配置する必要があります
 。//1.1HICONアイコンの準備HICONアイコン[3] ; 
 //実行可能ファイルからnIDResourceで指定されたアイコンリソースをロードします
 icons [0] = AfxGetApp()-> LoadIconW(IDI_ICON2); 
 icons [1] = AfxGetApp()-> LoadIconW(IDI_ICON3); 
 icons [2] = AfxGetApp( )-> LoadIconW(IDI_ICON4); 
 //画像のコレクションを作成します
 list.Create(30,30、ILC_COLOR32,4,4); 
 // 
 (int i = 0; i <3; i ++){ 
     listの特定の画像追加します.add(iconsThe [I]); 
 } 
 mTree.SetImageList(&List、TVSIL_NORMAL); 
 // 2ノード名を設定します。デフォルトの画像、選択した画像は、
 HTREEITEM root = mTree.InsertItem(TEXT( "root node" )、0、0、0); 
 HTREEITEM父= mTree.InsertItem(TEXT( "親ノード")、1,1、ルート);
 HTREEITEM sub1 = mTree.InsertItem(TEXT( "child node")、2,2、father); 
 HTREEITEM sub2 = mTree.InsertItem(TEXT( "child node")、2、2 、father); 
 //デフォルトオプション
 mTreeを設定します.SelectItem(sub1);

6.ノードを切り替えるためのトリガーイベント

6.1、現在のアイテムを取得するGetSelectedItem

6.2、アイテムに従ってコンテンツGetItemTextを取得します

 void CMFC06TreeControlDlg :: OnTvnSelchangedTree1(NMHDR * pNMHDR、LRESULT * pResult)
 { 
     LPNMTREEVIEW pNMTreeView = reinterpret_cast <LPNMTREEVIEW>(pNMHDR); 
     // TODO:ここにコントロール通知ハンドラーコードを追加
     * pResult = 0; 
     //現在選択されているアイテムのハンドルを取得
     item = mTree.GetSelectedItem an HTREEITEM(); 
     //選択したハンドルに従ってコンテンツアイテムを検索します
     CStringname = mTree.GetItemText(item); 
     MessageBox(name、_T( "name")); 
 }

おすすめ

転載: blog.csdn.net/weixin_49035356/article/details/109491441