树型控件与对话框关联的有关问题,请大家帮忙分析一下呢
树型控件与对话框关联的问题,请大家帮忙分析一下呢.
//父节点
HTREEITEM root0=m_mytree.InsertItem( "Dialog1 ",0,0);
HTREEITEM root1=m_mytree.InsertItem( "Dialog2 ",0,0);
//第一层子节点
m_mytree.InsertItem( "Dialog 1-1 ",0,0,root0);
m_mytree.InsertItem( "Dialog 2-1 ",0,0,root1);
m_mytree.InsertItem( "Dialog 2-2 ",0,0,root1);
//
m_treePages[0]-> Create(IDD_DIALOG1,this);
m_treePages[1]-> Create(IDD_DIALOG2,this);
m_treePages[2]-> Create(IDD_DIALOG3,this);
m_treePages[0]-> ShowWindow(SW_SHOW);
m_treePages[1]-> ShowWindow(SW_HIDE);
m_treePages[2]-> ShowWindow(SW_HIDE);
我找不到为什么我运行后的UI只显示Dialog1和Dialog2,显示不了子节点的对话框呢.
if(node_name== "Dialog 1-1 ")
{
m_treePages[0]-> ShowWindow(SW_SHOW);
m_treePages[1]-> ShowWindow(SW_HIDE);
m_treePages[2]-> ShowWindow(SW_HIDE);
}
else if(node_name== "Dialog 2-1 ")
{
m_treePages[0]-> ShowWindow(SW_HIDE);
m_treePages[1]-> ShowWindow(SW_SHOW);
m_treePages[2]-> ShowWindow(SW_HIDE);
}
else if(node_name== "Dialog 2-2 ")
{
m_treePages[0]-> ShowWindow(SW_HIDE);
m_treePages[1]-> ShowWindow(SW_HIDE);
m_treePages[2]-> ShowWindow(SW_SHOW);
}
UpdateData(false);
------解决方案--------------------
HTREEITEM thePoint;
HTREEITEM userSpecifics = m_tree.InserItem( "张三 ", 2, 2, userItem[0]); //父项1插入子项
m_tree.SetItemData(userSpecifics,(DWORD)0); //子项赋值0
thePoint = userSpecifics ; //
userSpecifics = m_tree.InserItem( "李四 ", 3, 3, userItem[0]); //父项1插入子项
m_tree.SetItemData(userSpecifics,(DWORD)1); //子项赋值1
userSpecifics = m_tree.InserItem( "王五 ", 3, 3, userItem[0]); //父项1插入子项
m_tree.SetItemData(userSpecifics,(DWORD)2); //子项赋值1
...
.
.
.
------解决方案--------------------
node1 = m_tree_list.InsertItem(szTemp, 0, 0, TVI_ROOT);
m_tree_list.SetItemData(node1, i);
node2 = m_tree_list.InsertItem( "xxxx ", 0, 0, node1);
for(.......)
{
node3 = m_tree_list.InsertItem(szTemp, 0, 0, node2);
}
node2 = m_tree_list.InsertItem( "yyyy ", 0, 0, node1);
for(.......)
{
node3 = m_tree_list.InsertItem(szTemp, 0, 0, node2);
}
//展开树
node1 = m_tree_list.GetRootItem();
do
{
m_tree_list.Expand(node1, TVE_EXPAND);
}while(node1=GetNextItem(&m_tree_list, node1));
//父节点
HTREEITEM root0=m_mytree.InsertItem( "Dialog1 ",0,0);
HTREEITEM root1=m_mytree.InsertItem( "Dialog2 ",0,0);
//第一层子节点
m_mytree.InsertItem( "Dialog 1-1 ",0,0,root0);
m_mytree.InsertItem( "Dialog 2-1 ",0,0,root1);
m_mytree.InsertItem( "Dialog 2-2 ",0,0,root1);
//
m_treePages[0]-> Create(IDD_DIALOG1,this);
m_treePages[1]-> Create(IDD_DIALOG2,this);
m_treePages[2]-> Create(IDD_DIALOG3,this);
m_treePages[0]-> ShowWindow(SW_SHOW);
m_treePages[1]-> ShowWindow(SW_HIDE);
m_treePages[2]-> ShowWindow(SW_HIDE);
我找不到为什么我运行后的UI只显示Dialog1和Dialog2,显示不了子节点的对话框呢.
if(node_name== "Dialog 1-1 ")
{
m_treePages[0]-> ShowWindow(SW_SHOW);
m_treePages[1]-> ShowWindow(SW_HIDE);
m_treePages[2]-> ShowWindow(SW_HIDE);
}
else if(node_name== "Dialog 2-1 ")
{
m_treePages[0]-> ShowWindow(SW_HIDE);
m_treePages[1]-> ShowWindow(SW_SHOW);
m_treePages[2]-> ShowWindow(SW_HIDE);
}
else if(node_name== "Dialog 2-2 ")
{
m_treePages[0]-> ShowWindow(SW_HIDE);
m_treePages[1]-> ShowWindow(SW_HIDE);
m_treePages[2]-> ShowWindow(SW_SHOW);
}
UpdateData(false);
------解决方案--------------------
HTREEITEM thePoint;
HTREEITEM userSpecifics = m_tree.InserItem( "张三 ", 2, 2, userItem[0]); //父项1插入子项
m_tree.SetItemData(userSpecifics,(DWORD)0); //子项赋值0
thePoint = userSpecifics ; //
userSpecifics = m_tree.InserItem( "李四 ", 3, 3, userItem[0]); //父项1插入子项
m_tree.SetItemData(userSpecifics,(DWORD)1); //子项赋值1
userSpecifics = m_tree.InserItem( "王五 ", 3, 3, userItem[0]); //父项1插入子项
m_tree.SetItemData(userSpecifics,(DWORD)2); //子项赋值1
...
.
.
.
------解决方案--------------------
node1 = m_tree_list.InsertItem(szTemp, 0, 0, TVI_ROOT);
m_tree_list.SetItemData(node1, i);
node2 = m_tree_list.InsertItem( "xxxx ", 0, 0, node1);
for(.......)
{
node3 = m_tree_list.InsertItem(szTemp, 0, 0, node2);
}
node2 = m_tree_list.InsertItem( "yyyy ", 0, 0, node1);
for(.......)
{
node3 = m_tree_list.InsertItem(szTemp, 0, 0, node2);
}
//展开树
node1 = m_tree_list.GetRootItem();
do
{
m_tree_list.Expand(node1, TVE_EXPAND);
}while(node1=GetNextItem(&m_tree_list, node1));