0

ツリービューの要素をクリックすることを意味します->リストビューにsthが表示されます。

私はこのようなコントロールを作成します(ツリーとリスト-> 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通知コード

ツリービューコントロールの親ウィンドウに、選択が1つのアイテムから別のアイテムに変更されたことを通知します。この通知コードは、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 に答える