VC中CTreeCtrl控件单击事件,如何判断是单击的是某项的按钮,还是单击的文字

void CViewTree::OnClkTree(NMHDR* pNMHDR, LRESULT* pResult)
{

	CPoint pt;
	GetCursorPos(&pt);
	ScreenToClient(&pt);
	UINT uFlag = 0;
	HTREEITEM hCurSel = GetSelectedItem();
	HTREEITEM hItem = HitTest(pt, &uFlag);
	if(hItem)
	{
		if(hCurSel != hItem)
		{
			SelectItem(hItem);
		}
		CString strText(_T(""));
		if(TVHT_ONITEMBUTTON & uFlag)
		{
			strText.Format(_T("On Button"));
		}
		else if(TVHT_ONITEMLABEL & uFlag)
		{
			strText.Format(_T("On Label"));
		}
		else
		{
			strText.Format(_T("On Others"));
		}
		AfxMessageBox(strText);
	} 

// 	HTREEITEM hTreeItem = GetSelectedItem(); 
// 	//以GetItemText()函数为例: 
// 	CString S1 = GetItemText(hTreeItem); 
// 	AfxMessageBox("You have selected "+S1);

	*pResult = 0;

}

你可能感兴趣的:(CTreeCtrl,判断事件)