我的意思是点击树视图的元素 - >它显示在列表视图中。
我创建这样的控件(其中树和列表 - >> CTreeViewCtrl和CListViewCtrl)
split.Create(*this,rcDefault,NULL,0,WS_EX_CLIENTEDGE);
RECT rlist,rtree;
list.Create(split,rlist,CListViewCtrl::GetWndClassName(),WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | LVS_REPORT | LVS_EDITLABELS, WS_EX_CLIENTEDGE);
tree.Create(split,rtree,CTreeViewCtrl::GetWndClassName(),WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | LVS_REPORT | TVS_EDITLABELS, WS_EX_CLIENTEDGE);
list.AddColumn(L"KEY",0);
list.AddColumn(L"VALUE",1);
split.SetSplitterPanes(tree,list);
哪些参数具有事件功能?
答案 0 :(得分:1)
TVN_SELCHANGED notification code:
通知树视图控件的父窗口选择具有 从一个项目变为另一个项目。此通知代码将被发送 WM_NOTIFY消息的形式。
也就是说,当您单击某个项目并更改了树视图控件的选择时,控件会向其父级(例如您的对话框)发送WM_NOTIFY
消息,代码为TVN_SELCHANGED
,您应该处理它
答案 1 :(得分:0)
在你的mainfrm.h
// ...
CTreeViewCtrlEx m_treeview;
// ...
BEGIN_MSG_MAP(CMainFrame)
// ...
NOTIFY_CODE_HANDLER(TVN_SELCHANGED, OnTVSelChanged)
END_MSG_MAP()
和
// mainfrm.h or mainfrm.cpp
LRESULT CMainFrame::OnTVSelChanged(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
{
//...
}