bool CServerClientSocketThread::HaveData(CString ip)
{
bool Return = true;
{
bool Return = true;
try
{
//从根节点开始查找所有节点中项为ip的节点并设置为1号图标显示
HTREEITEM pRoot = m_tree.GetRootItem();
HTREEITEM pFirstChild = m_tree.GetNextItem(pRoot, TVGN_CHILD);
while(pFirstChild)
{
CString strTemp = m_tree.GetItemText(pFirstChild);
if(strTemp == ip)
m_tree.SetItemImage(pFirstChild,1,1);
pFirstChild = m_tree.GetNextItem(pFirstChild, TVGN_NEXT);
}
}
{
//从根节点开始查找所有节点中项为ip的节点并设置为1号图标显示
HTREEITEM pRoot = m_tree.GetRootItem();
HTREEITEM pFirstChild = m_tree.GetNextItem(pRoot, TVGN_CHILD);
while(pFirstChild)
{
CString strTemp = m_tree.GetItemText(pFirstChild);
if(strTemp == ip)
m_tree.SetItemImage(pFirstChild,1,1);
pFirstChild = m_tree.GetNextItem(pFirstChild, TVGN_NEXT);
}
}
catch(...)
{
Return = false;
}
{
Return = false;
}
return Return;
}
}
1〉.h文件
CTreeCtrl m_mytree;
2〉.cpp
BOOL CMFC_TreeCRTLDlg::InitMytree()
{
//节点的图标个数
int i=0;
int i_count=4;
//载入图标
HICON icon[4];
icon[0]=AfxGetApp()->LoadIcon (IDI_ICON6);
icon[1]=AfxGetApp()->LoadIcon (IDI_ICON7);
{
//节点的图标个数
int i=0;
int i_count=4;
//载入图标
HICON icon[4];
icon[0]=AfxGetApp()->LoadIcon (IDI_ICON6);
icon[1]=AfxGetApp()->LoadIcon (IDI_ICON7);
//创建图像列表控件
CImageList *m_imagelist=new CImageList;
m_imagelist->Create(16,16,0,7,7);
m_imagelist->SetBkColor (RGB(255,255,255));
for(int n=0;n<i_count;n++)
{
m_imagelist->Add(icon[n]); //把图标载入图像列表控件
}
CImageList *m_imagelist=new CImageList;
m_imagelist->Create(16,16,0,7,7);
m_imagelist->SetBkColor (RGB(255,255,255));
for(int n=0;n<i_count;n++)
{
m_imagelist->Add(icon[n]); //把图标载入图像列表控件
}
//为m_mytree设置一个图像列表,使CtreeCtrl的节点显示不同的图标
m_mytree.SetImageList(m_imagelist,TVSIL_NORMAL);
m_mytree.SetImageList(m_imagelist,TVSIL_NORMAL);
m_mytree.SetBkColor(RGB(0,250,255));//设置m_mytree的背景色
//创建节点并为其选择显示不同的小图标
//父节点
HTREEITEM root0=m_mytree.InsertItem("Dialog1",0,1,TVI_ROOT,TVI_LAST);
HTREEITEM root1=m_mytree.InsertItem("Dialog2",0,1,TVI_ROOT,TVI_LAST);
//一层子节点
HTREEITEM sub_son0=m_mytree.InsertItem("Dialog 1-1",0,1,root0,TVI_LAST);
HTREEITEM sub_son1=m_mytree.InsertItem("Dialog 2-1",0,1,root1,TVI_LAST);
//二层孙子节点
HTREEITEM sub_m_son0=m_mytree.InsertItem("Dialog 2-1-1",0,1,sub_son1,TVI_LAST);
//创建节点并为其选择显示不同的小图标
//父节点
HTREEITEM root0=m_mytree.InsertItem("Dialog1",0,1,TVI_ROOT,TVI_LAST);
HTREEITEM root1=m_mytree.InsertItem("Dialog2",0,1,TVI_ROOT,TVI_LAST);
//一层子节点
HTREEITEM sub_son0=m_mytree.InsertItem("Dialog 1-1",0,1,root0,TVI_LAST);
HTREEITEM sub_son1=m_mytree.InsertItem("Dialog 2-1",0,1,root1,TVI_LAST);
//二层孙子节点
HTREEITEM sub_m_son0=m_mytree.InsertItem("Dialog 2-1-1",0,1,sub_son1,TVI_LAST);
m_mytree.Expand(root0,TVE_EXPAND);//让根节点下的节点一启动就展开
//建立节点对应的Dialog
m_treePages[0]->Create(IDD_DIALOG11,this); //IDD_DIALOG11为dlg ID
m_treePages[1]->Create(IDD_DIALOG211,this);
m_treePages[0]->ShowWindow(SW_SHOW);
m_treePages[1]->ShowWindow(SW_HIDE);
m_treePages[0]->Create(IDD_DIALOG11,this); //IDD_DIALOG11为dlg ID
m_treePages[1]->Create(IDD_DIALOG211,this);
m_treePages[0]->ShowWindow(SW_SHOW);
m_treePages[1]->ShowWindow(SW_HIDE);
//把Dialog移到合适位置
CRect m_rect;
GetClientRect(m_rect);
m_rect.left=200;
m_treePages[0]->MoveWindow(m_rect);
m_treePages[1]->MoveWindow(m_rect);
return true;
}
CRect m_rect;
GetClientRect(m_rect);
m_rect.left=200;
m_treePages[0]->MoveWindow(m_rect);
m_treePages[1]->MoveWindow(m_rect);
return true;
}