MFCのツリーコントロールは、Accessデータベースのデータをロードします

研究は、数日間、最終的には何とか、ここでのコードである
[dlg.cpp]
初期関数のOnInitDialog()を添加して
、HICONのHICON [3]
HTREEITEM HRoot;
//は、3つのアイコンのロード
HICON [0] = theAppを。 LoadIconW(IDI_ICON1);
HICON = theApp.LoadIconW(IDI_ICON3)[1];
HICON [2] = theApp.LoadIconW(IDI_ICON2)。

m_imageList.Create(16, 16, ILC_COLOR16, 3, 3);
for (int i=0;i<3;i++)
{
    m_imageList.Add(hIcon[i]);
}
//绑定树控件与ImaageList
m_webTree.SetImageList(&m_imageList, TVSIL_NORMAL);
//初始化Ado环境
AfxOleInit();
hRoot = NULL;
OpenConn();     //打开数据函数
LoadTreeCtrlData(hRoot,_T("0"));    //递归加数据到树控件中
CloseConn();        //关闭数据库

//下面就是递归函数
のボイドCMFCApp_CTreeCtrl_testDlg :: LoadTreeCtrlData(HTREEITEM hItem、CStringの半ば)
{
HTREEITEM temItem。
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance(__ uuidof(レコード));
試す
{
SQLをCStringの。
sql.Format(_T( "mTableどこPID = '%s'のSELECT * FROM")、ミッド)。

    m_pRecordset->Open((_variant_t)sql, m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
    //AfxMessageBox(_T("123"));
}
catch (_com_error e)
{
    CString str;
    str.Format(_T("连接数据表失败:%s"), e.ErrorMessage());
    AfxMessageBox(str);
    return;
}

_variant_t var;
CString strTmp;
while (!m_pRecordset->adoEOF)
{
    var = m_pRecordset->GetCollect(_T("mName"));
    strTmp = (LPCTSTR)_bstr_t(var);
    temItem=m_webTree.InsertItem(strTmp, 1, 1, hItem, TVI_LAST);
    
    //把自己的mID存入到节点中,

//ノードを見つけるためにBaiduの前に数日をチェックし、データポインタのアドレスに格納されています。

    var = m_pRecordset->GetCollect(_T("mID"));
    strTmp = (LPCTSTR)_bstr_t(var);
    CString* pStr = new CString;
    *pStr = strTmp;
    m_webTree.SetItemData(temItem,(DWORD)pStr);

    //递归加载子节点
    LoadTreeCtrlData(temItem,strTmp);
    m_pRecordset->MoveNext();
}

}

//データを取得します

CStringのstrText;
HTREEITEM hItem = m_webTree.GetSelectedItem()。
// strText = m_webTree.GetItemText(hItem)。
CStringのSTR =(CStringの)m_webTree.GetItemData(hItem)。
もし(STR = NULL!)
strText.Format(_T( "%s"が)、str->のGetString());
SetDlgItemText(IDC_ITEM_SET_EDIT、strText)。

数日つまずきにもかかわらず、私は最終的に影響を思い付きました。

おすすめ

転載: www.cnblogs.com/greenleaf1976/p/12169365.html