部分代码如下:
.CPP文件
CString chArrTreeContent[]=
{
_T("root"),
_T("parent1"),
_T("child11"),
_T("child12"),
_T("parent2"),
_T("child21"),
_T("child22"),
_T("child23"),
};
BOOL CTrytreeDlg::OnInitDialog()
{
CDialog::OnInitDialog();
......
// TODO: 在此添加额外的初始化代码
m_sldpercent.SetRange(1,50);
m_sldpercent.SetPos(5);
m_sldinterval.SetRange(0,10);
m_sldinterval.SetPos(1);
m_progress.SetRange(0,100);
//imagelist
m_imagelist.Create(16,16,FALSE,3,0);
m_imagelist.Add(LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ROOT)));
m_imagelist.Add( LoadIcon( AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_PARENT)));
m_imagelist.Add(LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_CHILD)));
//tree
m_tree.SetImageList(&m_imagelist,TVSIL_NORMAL);
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
void CTrytreeDlg::InitiaTreeDemo(void)
{
HTREEITEM hItem0,hItem1,hItem2;
//增加根节点root
TVINSERTSTRUCT tvItem;
tvItem.hParent=NULL;
tvItem.hInsertAfter=TVI_LAST;
tvItem.item.mask=TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[0];
tvItem.item.iImage=tvItem.item.iSelectedImage=0;
hItem0=m_tree.InsertItem(&tvItem);
//增加两个子节点:p1,p2
tvItem.hParent=hItem0;
tvItem.item.iImage=tvItem.item.iSelectedImage=1;
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[1];
hItem1=m_tree.InsertItem(&tvItem);
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[4];
hItem2=m_tree.InsertItem(&tvItem);
//增加p1的子节点c1,c2
tvItem.item.iImage=tvItem.item.iSelectedImage=2;
tvItem.hParent=hItem1;
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[2];
m_tree.InsertItem(&tvItem);
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[3];
m_tree.InsertItem(&tvItem);
//
tvItem.item.iImage=2;
tvItem.hParent=hItem2;
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[5];
m_tree.InsertItem(&tvItem);
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[6];
m_tree.InsertItem(&tvItem);
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[7];
m_tree.InsertItem(&tvItem);}
.h文件
public:
CTreeCtrl m_tree;
public:
CSliderCtrl m_sldpercent;
public:
CSliderCtrl m_sldinterval;
public:
CProgressCtrl m_progress;
public:
afx_msg void OnBnClickedOkbutton();
public:
afx_msg void OnTvnEndlabeleditTree(NMHDR *pNMHDR, LRESULT *pResult);
public:
CImageList m_imagelist;
public:
void InitiaTreeDemo(void);
.CPP文件
CString chArrTreeContent[]=
{
_T("root"),
_T("parent1"),
_T("child11"),
_T("child12"),
_T("parent2"),
_T("child21"),
_T("child22"),
_T("child23"),
};
BOOL CTrytreeDlg::OnInitDialog()
{
CDialog::OnInitDialog();
......
// TODO: 在此添加额外的初始化代码
m_sldpercent.SetRange(1,50);
m_sldpercent.SetPos(5);
m_sldinterval.SetRange(0,10);
m_sldinterval.SetPos(1);
m_progress.SetRange(0,100);
//imagelist
m_imagelist.Create(16,16,FALSE,3,0);
m_imagelist.Add(LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ROOT)));
m_imagelist.Add( LoadIcon( AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_PARENT)));
m_imagelist.Add(LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_CHILD)));
//tree
m_tree.SetImageList(&m_imagelist,TVSIL_NORMAL);
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
void CTrytreeDlg::InitiaTreeDemo(void)
{
HTREEITEM hItem0,hItem1,hItem2;
//增加根节点root
TVINSERTSTRUCT tvItem;
tvItem.hParent=NULL;
tvItem.hInsertAfter=TVI_LAST;
tvItem.item.mask=TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[0];
tvItem.item.iImage=tvItem.item.iSelectedImage=0;
hItem0=m_tree.InsertItem(&tvItem);
//增加两个子节点:p1,p2
tvItem.hParent=hItem0;
tvItem.item.iImage=tvItem.item.iSelectedImage=1;
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[1];
hItem1=m_tree.InsertItem(&tvItem);
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[4];
hItem2=m_tree.InsertItem(&tvItem);
//增加p1的子节点c1,c2
tvItem.item.iImage=tvItem.item.iSelectedImage=2;
tvItem.hParent=hItem1;
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[2];
m_tree.InsertItem(&tvItem);
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[3];
m_tree.InsertItem(&tvItem);
//
tvItem.item.iImage=2;
tvItem.hParent=hItem2;
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[5];
m_tree.InsertItem(&tvItem);
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[6];
m_tree.InsertItem(&tvItem);
tvItem.item.pszText=(LPTSTR)(LPCTSTR)chArrTreeContent[7];
m_tree.InsertItem(&tvItem);}
.h文件
public:
CTreeCtrl m_tree;
public:
CSliderCtrl m_sldpercent;
public:
CSliderCtrl m_sldinterval;
public:
CProgressCtrl m_progress;
public:
afx_msg void OnBnClickedOkbutton();
public:
afx_msg void OnTvnEndlabeleditTree(NMHDR *pNMHDR, LRESULT *pResult);
public:
CImageList m_imagelist;
public:
void InitiaTreeDemo(void);
解决方案 »
- 求算法代码,如何把分好组的数据打乱 C++
- 奇怪 为啥等级图标变了
- 请问如何用Win32汇编编写ActiveX控件?
- 〔讨论〕如何在BitComet中用XML实现的多国语言动态切换 [每天10小时在线]
- ******************无法调用的动态库函数,急需&等待*********************
- 如何用InstallShield Express打包程序?
- 求教这几行代码的意义(读DIB位图到内存中),谢谢.
- 怎样用VC把access数据库中表的数据倒出生成文本文件
- 哪有BoundsChecker7.1下载呀?
- 请问怎样在DBGrid中将bool型数据显示为yes/no而不是-1/0?
- left of '->hParent' must point to class/struct/union/generic type 什么意思?
- CListCtrl选中一行时,图片消失
>e:\vc++实验保存\trytree\trytree\trytreedlg.cpp(121) : error C2065: 'IDI_ROOT' : undeclared identifier
1>e:\vc++实验保存\trytree\trytree\trytreedlg.cpp(122) : error C2065: 'IDI_PARENT' : undeclared identifier
1>e:\vc++实验保存\trytree\trytree\trytreedlg.cpp(123) : error C2065: 'IDI_CHILD' : undeclared identifier
这三个错误
{
// get LeftTree
CLeftView * pLeft=GetLeftPane();//pMain->
CTreeCtrl& LeftTree=pLeft->GetTreeCtrl();
// set tree style
LONG NewStyle=GetWindowLong(LeftTree,GWL_STYLE);
NewStyle=NewStyle|TVS_HASBUTTONS|TVS_HASLINES|TVS_INFOTIP|
TVS_LINESATROOT|TVS_SHOWSELALWAYS|TVS_EDITLABELS;
SetWindowLong(LeftTree,GWL_STYLE,NewStyle);
//
CString dir;
BOOL dfend = FALSE;
CBitmap bitmap;
UINT nID;
//
Imagelist.Create(16,16,ILC_COLOR8 | ILC_MASK,6,4); // for icon
for (nID=IDB_DIR;nID<=IDB_LAST;nID++) //0-9
{
bitmap.LoadBitmap(nID);
Imagelist.Add(&bitmap,(COLORREF)0xFFFFFF);
bitmap.DeleteObject();
}
//
LeftTree.SetImageList(&Imagelist,TVSIL_NORMAL);
return TRUE;
}