上記の例では、TreeView は次を使用して手動で作成されます。p_TreeView->CreateWindow(...)
ただし、リソース エディタでドラッグ アンド ドロップを使用する場合、これは必要ありません。ダイアログ クラスは、既に作成されているツリー コントロールへの参照のみを必要とします。
CMyDialog
クラスで宣言します。
class CMyDialog : public CDialogEx
{
...
CTreeCtrl m_TreeView;
void DoDataExchange(CDataExchange* pDX);
};
これを *.cpp ファイルに追加します。
void CMyDialog::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_TREE1, m_TreeView);
}
m_TreeView
たとえば、次のように使用できます。
m_TreeView.InsertItem("Test");
HTREEITEM level_1 = m_TreeView.InsertItem("level 1");
m_TreeView.InsertItem("level 2 a", level_1);
m_TreeView.InsertItem("level 2 b", level_1);
HTREEITEM level_2_c = m_TreeView.InsertItem("level 2 c", level_1);
m_TreeView.InsertItem("level 3 c", level_2_c);
m_TreeView.Expand(level_1, TVM_EXPAND);