16,472
社区成员
发帖
与我相关
我的任务
分享
ON_NOTIFY_REFLECT(TVN_SELCHANGED, &CLeftView::OnTvnSelchanged)
void CLeftView::OnTvnSelchanged(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
HTREEITEM ht=m_Tree.GetSelectedItem();
CString strSelect=m_Tree.GetItemText(ht);
MessageBox(strSelect);
*pResult = 0;
}
ON_NOTIFY_REFLECT(NM_CLICK, &CLeftView::OnNMClick)
void CLeftView::OnLDownClick(NMHDR* pNMHDR, LRESULT* pResult)
{
switch (pNMHDR->code)
{
case NM_LDOWN:
{
MessageBox("ii");
break;
}
}
}
void MYTREE::OnNMClick(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
MessageBox("MessageBox");
*pResult = 0;
}
void MYTREE::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
MessageBox("MessageBox111");
CTreeCtrl::OnLButtonDown(nFlags, point);
}
treeview类头文件
#include "MYTREE.h"
#pragma once
class Ctest3Doc;
class CLeftView : public CTreeView
{
protected: // 仅从序列化创建
CLeftView();
DECLARE_DYNCREATE(CLeftView)
enum {NUM_BUTTONS = 9};
CTreeCtrl m_Tree;
CImageList m_Image;
CImageList* m_pDragImage;
BOOL m_bDragging;
HTREEITEM m_hDragItem, m_hDropItem;
int m_nDropIndex;
CWnd* m_pDropWnd;
// 特性
public:
Ctest3Doc* GetDocument();
// 操作
public:
// 重写
public:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
virtual void OnInitialUpdate(); // 构造后第一次调用
// 实现
public:
virtual ~CLeftView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// 生成的消息映射函数
protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnSize(UINT nType, int cx, int cy);
};
VERIFY (m_Tree.Create (WS_CHILD | WS_VISIBLE | TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS | TVS_SHOWSELALWAYS |TVS_EDITLABELS , CRect (500, 500, 500, 500), this, IDI_ICON1));
添加NM_CLICK响应函数,在树的节点上点鼠标左键没有弹出对话框。
void MYTREE::OnNMClick(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
MessageBox("MessageBox");
*pResult = 0;
}