在应用程序中,我只需要处理树中选择的项目。我在添加到Dailog的属性表中使用MFC CTreeCtrl。树显示文件夹列表,用户选择一些文件夹,当用户按下OK时,我需要处理文件夹。我使用SetItemData保存文件夹信息。其他一切都很好。问题是当用户按下OK时,CTreeCtrl变量变为null,因此我无法使用GetItemData。是否有一种方法,即使在对话框关闭后我仍然使用该变量? 任何帮助将受到高度赞赏。
答案 0 :(得分:1)
您必须将信息传输到另一个变量中,该变量将在窗口被销毁时存在。对于文件夹列表,std::vector<CString>
是一个很好的解决方案。
在对话框内,当用户按下ok时,浏览树并将文件夹路径复制到矢量中。
在对话框之外,代码如下所示:
CMyDlg dlg(this);
if(dlg.DoModal() == IDOK)
{
// Information is in dlg.m_vecFolders available
}