怎样实现单击和双击树状目录叶节点的响应,该怎么解决

怎样实现单击和双击树状目录叶节点的响应
treeview是ctreeview的派生类,想实现这样的功能:
如果某个叶节点是最末端的叶节点,那么单击的时候弹出一个ok的对话框,双击的时候再弹出另外一个对话框。
我是这么写的,分别添加了消息NM_CLICK和NM_DBLCLK:
void TreeView::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult) 
{
HTREEITEM tree = this->GetTreeCtrl().GetSelectedItem();
if (!this->GetTreeCtrl().GetChildItem(tree))
{
CString str = this->GetTreeCtrl().GetItemText(tree); //获得树节点文本
AfxMessageBox(str); //弹出消息提示
}
*pResult = 0;
}

void TreeView::OnNMClick(NMHDR *pNMHDR, LRESULT *pResult)
{
CPoint pt;
UINT u32Flag = 0;
GetCursorPos(&pt);
this->GetTreeCtrl().ScreenToClient(&pt);
HTREEITEM tree = this->GetTreeCtrl().HitTest(pt, &u32Flag);
BOOL bHasChild = this->GetTreeCtrl().ItemHasChildren(tree);
if (tree && !bHasChild)
{
AfxMessageBox("ok"); //弹出消息提示
}

*pResult = 0;
}
这样写了之后,单节也节点时会弹出对话框,可是不能响应鼠标双击的消息,不论双击的怎样快都响应的是单击的,请问怎么同时实现单击和双击呢?应该添加什么消息?

------解决方案--------------------
在OnLButtonDown和OnLDlButtonDown中利用HitTest实现
CPoint pt;
UINT u32Flag = 0;
GetCursorPos(&pt);
myTree.ScreenToClient(&pt);
HTREEITEM hTree = myTree.HitTest(pt, &u32Flag);
BOOL b = myTree.SelectItem(hTree )