QQ登录

只需一步,快速开始

307上位机VC MFC使用ADO在树状控件上显示数据

[ 复制链接 ]
ADO在树状控件显示数据
功能展示
树状控件可以很方便的显示有结构有组织的数据,使用显示的内容结构清晰一目了然,我们当前例程实现在ADO中利用树状控件显示数据,效果如图,例程运行时会初始化连接根目录数据库文件,并根据从表TreeItemTable读取的数据,增加树控件子项;

要点提示
树状控件子项的添加可以用其成员函数InsertItem实现,如我们例程中使用的代码m_ctrlTree.InsertItem( (LPCTSTR)(_bstr_t)(m_pTreeRecordset->GetCollect(“Class”)), hPartItem, NULL);参数1 为要插入的子项的名称,参数2为要插入的子项的父窗口句柄,参数3为要插入到的前面的子项的句柄,当然InsertItem()函数的形式众多,可以参阅MSDN手册查看更多信息

实现功能
1.新建基于对话框的应用程序
2.在STDAFX.H头文件中添加ADO的支持代码#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
3.在主对话框中准备一树状控件,关联变量CTreeCtrl m_ctrlTree;再准备一位图IDB_TreeBootImage作为树控件的子项图标
4.添加树控件的TVN_SELCHANGED, NM_CLICK消息响应函数
void CGkbc8Dlg::OnClickTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
m_ctrlTree.SetItemImage(hTreeCurrent,0,true );//还原树型控件的图标
*pResult = 0;
}

void CGkbc8Dlg::OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;

hTreeCurrent=m_ctrlTree.GetSelectedItem ();
hTreeParent=m_ctrlTree.GetParentItem(m_ctrlTree.GetSelectedItem ());
m_ctrlTree.SetItemImage(hTreeCurrent,1,FALSE );//改变树型控件的图标
TreeCurrent="'"+m_ctrlTree.GetItemText(hTreeCurrent)+"'";
TreeParent=m_ctrlTree.GetItemText (hTreeParent);
//获取树中当前项及其子项的内容
hTreeCurrent=m_ctrlTree.GetSelectedItem ();

*pResult = 0;
}
5添加变量,ConnectionPtr m_pTreeConn; //连接创建
CImageList m_TreeBootImage;//Tree的图标
CString TreeCurrent,TreeParent;//当前和父级项文本内容
HTREEITEM hTreeCurrent,hTreeParent;//当前和父级项句柄
并在OnInitDialog函数中初始化
AfxOleInit();//初始化COM
/******************连接通讯录数据库********************/
HRESULT hr;
try
{
hr=m_pTreeConn.CreateInstance(_T("ADODB.Connection"));
m_pTreeConn->ConnectionTimeout = 10;
//连接ACCESS2000
hr=m_pTreeConn->Open(_bstr_t((LPCTSTR) _T("Provider=Microsoft.Jet.OLEDB.4.0;")
_T("Data Source=MyUniversity.mdb;")),
_T(""),_T(""),adModeUnknown);
}
catch(_com_error e)///捕捉异常
{
CString ErrorMessage;
ErrorMessage.Format(_T("连接数据库失败!\r\n错误信息是:%s"),e.ErrorMessage());
AfxMessageBox(ErrorMessage);///显示错误信息
return FALSE;
}
//<>
CreatTree(); //创建目录树
6.添加自定义函数void CreatTree(); void AddSubTree(CString strParent,CString strChild,HTREEITEM hPartItem); int SumRecordCount(CString strFieldValue); CString VariantToCString(VARIANT var); 函数的定义可参阅例程源码
我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:307.上位机VC MFC使用ADO在树状控件上显示数据.zip 
文件大小:196.31 KB  售价:11金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!




307上位机VC MFC使用ADO在树状控件上显示数据

307上位机VC MFC使用ADO在树状控件上显示数据
回复

使用道具 举报

快速回复 返回列表 客服中心 搜索