Mfc 关闭对话框后检索CTreeCtrl项

Mfc 关闭对话框后检索CTreeCtrl项,mfc,clistctrl,Mfc,Clistctrl,在应用程序中,我只需要处理树中选定的项目。我在添加到Dailog的属性表中使用MFC CTreeCtrl。树显示文件夹列表,用户选择一些,当用户按OK时,我需要处理文件夹。我使用SetItemData保存文件夹信息。其他一切都很好。问题是,当用户按下OK时,CTreeCtrl变量将变为null,因此我无法使用GetItemData。有没有一种方法可以让我在关闭变量对话框后仍然使用该变量? 我们将非常感谢您的帮助 您必须将信息传输到另一个变量中,该变量将在窗口被破坏时存在。对于文件夹列表,一个st

在应用程序中,我只需要处理树中选定的项目。我在添加到Dailog的属性表中使用MFC CTreeCtrl。树显示文件夹列表,用户选择一些,当用户按OK时,我需要处理文件夹。我使用SetItemData保存文件夹信息。其他一切都很好。问题是,当用户按下OK时,CTreeCtrl变量将变为null,因此我无法使用GetItemData。有没有一种方法可以让我在关闭变量对话框后仍然使用该变量?
我们将非常感谢您的帮助

您必须将信息传输到另一个变量中,该变量将在窗口被破坏时存在。对于文件夹列表,一个
std::vector
是一个很好的解决方案

在对话框中,当用户按ok时,遍历树并将文件夹路径复制到向量中

在对话框外部,代码如下所示:

CMyDlg dlg(this);
if(dlg.DoModal() == IDOK)
{
    // Information is in dlg.m_vecFolders available
}