我已经在MFC应用程序中在运行时创建了树 View ,我现在向其中添加了几个节点,我想对节点单击进行一些操作,以便如何获取树 View 的单击事件?
我的代码如下所示:
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)的通知消息的处理程序。如果没有消息,则不会触发处理程序。
或者,您可以使用WM_NOTIFY
将通用的ON_MESSAGE
处理程序添加到父窗口的消息映射中,然后检查消息是否来自新的树控件。
关于c++ - 如何在运行时创建的MFC中获取Treeview(CTreeCtrl)的Click事件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3757492/