1,自创建一个控件
//以下代码创建树型控件
if (!m_wndTree.Create(WS_CHILD|WS_VISIBLE|
TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT,
//CRect(0, 0, 0, 0), &m_TabCtrl, IDC_MYTREECTRL))
CRect(0, 0, 0, 0), &m_TabCtrl, IDC_TREE1)) //关联一个id,用于消息映射
{
TRACE0("Failed to create instant bar child\n");
return -1;
}
2,创建控件时与一个id IDC_TREE1关联,(IDC_TREE1在resource.h中定义 #define IDC_TREE1 1000//tree control)
3,下面是定义消息映射
头文件中,afx_msg void OnNMDblclkTree1(NMHDR *pNMHDR, LRESULT *pResult);
cpp文件中,BEGIN_MESSAGE_MAP中加入 ON_NOTIFY(NM_DBLCLK, IDC_TREE1, &CMainFrame::OnNMDblclkTree1)
4,添加实现方法
void CMainFrame::OnNMDblclkTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
HTREEITEM m_htreeitem;
m_htreeitem = m_wndTree.GetSelectedItem();
CString str = m_wndTree.GetItemText(m_htreeitem);
AfxMessageBox(str); //"seleted " +
*pResult = 0;
}
以上是在CMainFrame中为一个在代码中创建的控件添加消息的操作(该控件为树形控件,添加鼠标左键双击事件响应)