我想在树型控件的节点上双击时得到此节点的句柄,但不知为什么就时不成功
void CTree::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
TVITEM item = pNMTreeView->itemNew;
*pResult = 0;
}
在这个里面item就是当前的节点。但在下面双击的处理函数中item就不对了。
void CTree::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
TVITEM item = pNMTreeView->itemNew;
*pResult = 0;
}谢谢大侠,如果解决分一定加
void CTree::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
TVITEM item = pNMTreeView->itemNew;
*pResult = 0;
}
在这个里面item就是当前的节点。但在下面双击的处理函数中item就不对了。
void CTree::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
TVITEM item = pNMTreeView->itemNew;
*pResult = 0;
}谢谢大侠,如果解决分一定加
解决方案 »
- 静态分割窗口后子窗口如何获得另一子窗口的视图
- 用WinSock编了个基于UDP的控制台聊天程序出现了问题
- 各位大侠帮忙啊!传递Ado的Recordset当Com服务器和客户端在统一机器上可以正确执行,但其它机器就不可以。
- 怎样关端口不是关闭其应用程序,只针对端口本身???!!!!在线等ing...
- 一个com问题~~~!
- 如何把异常从被调用函数外传到调用函数处理?
- 为什么,为什么,为什么 ,啊……
- 如何才能得到对话框中 TextBox 中的内容?
- 这个tree该如何serialize???????????????
- 高手救火系列第一季第4集--“高手,快来!”
- connect的返回错误码不是只有msdn中列出的错误值,这该怎么处理这样的情况
- 在非模态对话框中的PostNcDestroy() 加delete this; 后为什么不关闭该对话框是内存没减少呢??
void CTree::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)
{
POINT p;
GetCursorPos(&p);
CPoint point(p);
HTREEITEM hitem = m_TreeCtrl->HitTest(point);
CString str = m_TreeCtrl->GetItemText(hitem);
*pResult = 0;
}
void CTree::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)
{
POINT p;
GetCursorPos(&p);
CPoint point(p);
//转为客户区坐标
m_TreeCtrl->ScreenToClient(&point);
//..........
HTREEITEM hitem = m_TreeCtrl->HitTest(point);
CString str = m_TreeCtrl->GetItemText(hitem);
*pResult = 0;
}
{
…………
public:
HTREEITEM m_hTreeItem;
CImageList m_ImgLst;// Dialog Data
//{{AFX_DATA(CTreeCtrlDlg)
enum { IDD = IDD_TREECTRL_DIALOG };
CTreeCtrl m_wndTree;//与对话框中树控件相关联
//}}AFX_DATA// Implementation
protected:
afx_msg void OnDblClkTree(NMHDR* pNMHDR, LRESULT* pResult);
…………
};void CTreeCtrlDlg::OnDblClkTree(NMHDR* pNMHDR, LRESULT* pResult)
{
m_hTreeItem = m_wndTree.GetSelectedItem();
//以GetItemText()函数为例:
CString S1 = m_wndTree.GetItemText(m_hTreeItem);
AfxMessageBox("You have selected "+S1);
*pResult = 0;
}