谁有关于树型控件的使用的例子???? 请发给我!!![email protected] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 多得很/*=========================================函数功能:从数据源信息文件提取信息到树形控件参数说明:CTreeCtrl* pTree, --树形控件指针 CString strFileName --数据源文件名称==========================================*/BOOL source::InsertInfo(CTreeCtrl* pTree,CString strDsnFile){if(strDsnFile.IsEmpty()) return FALSE;CFile fp;if(!fp.Open(strDsnFile,CFile::modeRead|CFile::typeBinary))return false;long len=fp.GetLength();if(len<20)return false;char *ptr=new char[len];memset(ptr,0,len);fp.Read(ptr,len);fp.Close();CString s=ptr;CString name,desc;delete ptr;HTREEITEM hRoot=pTree->GetRootItem();int l1,l2;if(-1==(l1=s.Find("[%ip=",0)))return false;if(-1==(l2=s.Find(",,",1)))return false;name=s.Mid(l1+5,l2-l1-5);if(-1==(l1=s.Find(",,desc=",1)))return false;if(-1==(l2=s.Find("%]",l1+1)))return false;desc=s.Mid(l1+7,l2-l1-7);desc+="(";desc+=name;desc+=")";//pTree->InsertItem(desc.GetBuffer(0));int l=0;CString srcName,srcDesc; //数据源名和描述do{ if(-1==(l1=s.Find("[%source=",l)))break; if(-1==(l2=s.Find(",,",l1+1)))break; srcName=s.Mid(l1+9,l2-l1-9); if(-1==(l1=s.Find(",,desc=",l1+2)))break; if(-1==(l2=s.Find(",,",l1+2)))break; srcDesc=s.Mid(l1+7,l2-l1-7); srcDesc+="("; srcDesc+=srcName; srcDesc+=")"; HTREEITEM hSource=pTree->InsertItem(srcDesc.GetBuffer(0)); int l3=0,l4=0,l5=0; CString tabDesc,tabName,inof;//表名和描述,所在数据源 do{ if(-1==(l3=s.Find("[%table=",l5)))break; if(-1==(l4=s.Find(",,",l3+1)))break; tabName=s.Mid(l3+8,l4-l3-8); if(-1==(l3=s.Find(",,inof=",l3+1)))break; if(-1==(l4=s.Find(",,",l3+2)))break; inof=s.Mid(l3+7,l4-l3-7); if(inof==srcName) pTree->InsertItem(tabName.GetBuffer(0),hSource); l5=l4+1; }while(1); l=l2+1;}while(1);return true;} 怎么看上位机的程序效率高? 封装Google 音乐播放器 用VC实现光盘刻录 如何实现对话框边框的阴影效果? 如何将.res链接到EXE文件中? 哪里可以下载Intel JPEG Library库 文件写入问题 大家帮帮忙!!小弟有很急得问题,寻求答案,要多少分,我给多少。小弟实在是很急,希望高手们帮帮忙。帮帮忙呀,我先谢谢了!!帮帮忙呀 请问:ShockwaveFlash控件的使用方法 为什么会这样? ODBC访问SQL SERVE的问题 请问各位高手
函数功能:从数据源信息文件提取信息到树形控件
参数说明:CTreeCtrl* pTree, --树形控件指针
CString strFileName --数据源文件名称
==========================================*/
BOOL source::InsertInfo(CTreeCtrl* pTree,CString strDsnFile)
{
if(strDsnFile.IsEmpty()) return FALSE;
CFile fp;
if(!fp.Open(strDsnFile,CFile::modeRead|CFile::typeBinary))return false;
long len=fp.GetLength();
if(len<20)return false;
char *ptr=new char[len];
memset(ptr,0,len);
fp.Read(ptr,len);
fp.Close();
CString s=ptr;
CString name,desc;
delete ptr;
HTREEITEM hRoot=pTree->GetRootItem();
int l1,l2;
if(-1==(l1=s.Find("[%ip=",0)))return false;
if(-1==(l2=s.Find(",,",1)))return false;
name=s.Mid(l1+5,l2-l1-5);
if(-1==(l1=s.Find(",,desc=",1)))return false;
if(-1==(l2=s.Find("%]",l1+1)))return false;
desc=s.Mid(l1+7,l2-l1-7);
desc+="(";
desc+=name;
desc+=")";
//pTree->InsertItem(desc.GetBuffer(0));
int l=0;
CString srcName,srcDesc; //数据源名和描述
do{
if(-1==(l1=s.Find("[%source=",l)))break;
if(-1==(l2=s.Find(",,",l1+1)))break;
srcName=s.Mid(l1+9,l2-l1-9);
if(-1==(l1=s.Find(",,desc=",l1+2)))break;
if(-1==(l2=s.Find(",,",l1+2)))break;
srcDesc=s.Mid(l1+7,l2-l1-7);
srcDesc+="(";
srcDesc+=srcName;
srcDesc+=")";
HTREEITEM hSource=pTree->InsertItem(srcDesc.GetBuffer(0));
int l3=0,l4=0,l5=0;
CString tabDesc,tabName,inof;//表名和描述,所在数据源
do{
if(-1==(l3=s.Find("[%table=",l5)))break;
if(-1==(l4=s.Find(",,",l3+1)))break;
tabName=s.Mid(l3+8,l4-l3-8);
if(-1==(l3=s.Find(",,inof=",l3+1)))break;
if(-1==(l4=s.Find(",,",l3+2)))break;
inof=s.Mid(l3+7,l4-l3-7);
if(inof==srcName)
pTree->InsertItem(tabName.GetBuffer(0),hSource); l5=l4+1;
}while(1);
l=l2+1;
}while(1);return true;}