0

我的意思是单击树视图的元素->它在列表视图中显示某物。

我创建这样的控件(其中树和列表 - > 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);

什么参数会有事件功能?

4

2 回答 2

1

TVN_SELCHANGED 通知代码

通知树视图控件的父窗口选择已从一项更改为另一项。此通知代码以 WM_NOTIFY 消息的形式发送。

也就是说,当您单击一个项目并更改树视图控件的选择时,该控件将WM_NOTIFY使用代码向其父级(例如您的对话框)发送消息,TVN_SELCHANGED并且您应该处理它。

于 2012-01-11T16:26:59.497 回答
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)
{
  //...
}
于 2017-02-07T00:57:13.440 回答