MFC中,如何知道TreeCtrl中现在点击的是哪一项?
我看过其它的帖子,有的说用pTreeCtrl->pGetSelectedItem()。可这个语句要放在什么地方呢?
我试过把它放在单击事件NM_CLICK里,但单击时获得的却是上一次点击的那一项。在鼠标按下的时候会先处理CLICK事件,而这时的焦点还在上一次点击的项那里,所以这样就只能获得上一次点击的那一项。
谁能告诉我,怎么才能获得现在点击的这一项?
如果有代码,还希望能写上注释,我是新手。
谢谢!
我看过其它的帖子,有的说用pTreeCtrl->pGetSelectedItem()。可这个语句要放在什么地方呢?
我试过把它放在单击事件NM_CLICK里,但单击时获得的却是上一次点击的那一项。在鼠标按下的时候会先处理CLICK事件,而这时的焦点还在上一次点击的项那里,所以这样就只能获得上一次点击的那一项。
谁能告诉我,怎么才能获得现在点击的这一项?
如果有代码,还希望能写上注释,我是新手。
谢谢!
解决方案 »
- ON_COMMAND工具栏按钮响应函数问题
- 用 pCMainFrame->Create(NULL,_T("测试"),WS_OVERLAPPEDWINDOW,CFrameWnd::rectDefault,NULL);弹出子窗口后,怎样在子窗口中获取父窗口的句柄?
- 锁定文档框
- googleearth 用什么语言开发
- 视频监控问题,望前辈指教
- 低层socket通讯,文件传输高效率传输,求助好的模型~~~~~~~~~~在线!!
- 高手请进
- 有关PDF的问题
- VC下有实现类似XP菜单的类么?我只找到DELPHI的。
- 大侠救命!! DCOM调用时的TimeOut时间能不能设置呀? 急!急!!急!!!
- 为何winsock程序不能得到数据?
- 求教下关于同一个程序绑定2块网卡2个ip怎么做?
void CTestDlgDlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
// TODO: Add your control notification handler code here *pResult = 0;
}pNMTreeView里包括了上一次选中的项和当前选中的项。
void CMainTreeCtrl::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
HTREEITEM hSubItem = GetSelectedItem();
m_strCurSel = GetItemText(hSubItem); //m_strCurSel就是当前选择了哪项的内容
*pResult = 0;
}