gpt4 book ai didi

c++ - 如何获取运行时创建的MFC中Treeview(CTreeCtrl)的点击事件?

转载 作者:搜寻专家 更新时间:2023-10-31 01:21:30 24 4
gpt4 key购买 nike

我在运行时在 MFC 应用程序中创建了一个 TreeView ,我已经添加了几个节点,现在我想在节点的点击上做一些事情,所以我如何获得 TreeView 的点击事件?

我的代码是这样的:

CTreeCtrl *m_ctlTreeview;
m_ctlTreeview = new CTreeCtrl ;
m_ctlTreeview->Create(WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP |
TVS_HASLINES | TVS_HASBUTTONS | TVS_LINESATROOT |
TVS_SINGLEEXPAND | TVS_SHOWSELALWAYS |
TVS_TRACKSELECT,
CRect(25, 60, 385, 260), this, 0x1221);


hparentitem = m_ctlTreeview->InsertItem("Parent",TVI_ROOT);
m_ctlTreeview->InsertItem("Child", hparentitem);

最佳答案

一个选项是像往常一样在消息映射中使用 ON_NOTIFY 在设计时为该子窗口 ID(在您的示例中为 0x1221)的通知消息添加一个处理程序到父类。如果没有消息,则不会触发处理程序。

或者,您可以使用 ON_MESSAGE 向父窗口的消息映射添加一个通用的 WM_NOTIFY 处理程序,然后检查消息是否来自您的新树控制。

关于c++ - 如何获取运行时创建的MFC中Treeview(CTreeCtrl)的点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3757492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com