请大家帮忙,先谢过了~~~~目的:当点击子节点,可以同时获取子节点及其父节点的名称。void CDlgContext::OnSelchangedTreeContext(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CTreeCtrl* m_ptree = (CTreeCtrl*)GetDlgItem(IDC_TREE_CONTEXT);
HTREEITEM item;
CString strChild, strParent;
strChild = m_ptree->GetItemText(pNMTreeView->itemNew.hItem); //这里获取子节点名称
GetDlgItem(IDC_EDIT1)->SetWindowText(strChild); UpdateData(FALSE); *pResult = 0;
}但是,实在不知道如何获取它的父节点名称
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CTreeCtrl* m_ptree = (CTreeCtrl*)GetDlgItem(IDC_TREE_CONTEXT);
HTREEITEM item;
CString strChild, strParent;
strChild = m_ptree->GetItemText(pNMTreeView->itemNew.hItem); //这里获取子节点名称
GetDlgItem(IDC_EDIT1)->SetWindowText(strChild); UpdateData(FALSE); *pResult = 0;
}但是,实在不知道如何获取它的父节点名称
解决方案 »
- 我真的不想在用MFC了,但这个问题是不可容忍的!
- CDockablePane加上CRichEditCtrl没有滚动条
- 如何让工程->设置->链接中的库模块中的项保持固定
- 我靠,怎么突然发现我升星了,从5条裤衩换成了一个小星,散分,从此回答朋友们的问题我坚决不会用up,ding,gz~~~之类的话了
- 请推荐些有关VC++的Windows编程的书
- IOCP是异步阻塞还是异步非阻塞的?
- 多线程访问Ole对象出现非法
- HOOK GetProcAddress的问题
- 请问如何发送SHIFT+END消息?
- 如何在ListCtrl中的排序?
- 为什么发包速度一快就频繁死机
- 对资源了解较多,FindResource LoadResource 了解较多的帮忙看一下吧:如何导出BMP文件
然后就可以根据句柄获取名称了
HTREEITEM hParentItem;//父节点
HTREEITEM hChildItem;//子节点
CTreeCtrl* pmyTreeCtrl;//这个最好定义为成员变量,在.h文件中定义
hParentItem = pmyTreeCtrl->GetParentItem(hChildItem);//获取父节点句柄
CString Parent = pmyTreeCtrl->GetItemText(hParentItem);//Returns the text of the item specified by hItem.我没测试,你自己试试,应该可以的
麻烦你了,我想再问个关于SQL的问题。_bstr_t vSQL;
vSQL = "select DD_Name, DD_Another, DD_Description, DD_MakeUp, DD_Location from " + strParent + "where DD_Name = " + "'" + strChild + "'";
//我知道是 单引号那里出了问题,可就是不知道怎么改
vSQL = "select DD_Name, DD_Another, DD_Description, DD_MakeUp, DD_Location from " + strParent + " where DD_Name = " + "'" + strChild + "'";where 前要有空格,另外还要将strChild中的单引号换成两个单引号,否则会出错
建议不要这样拼接字符串,可以使用sprintf之类的作为辅助
这次真搞定了!谢谢啊~~
where 前面竟然少打了一个空格,太粗心了!