Для перечисления всех имен папок в списке,
#include "wx/dirdlg.h"
wxDirDialog dialog(parent, wxT("Testing directory picker"), cwd, wxDD_NEW_DIR_BUTTON);
if (dialog.ShowModal() == wxID_OK)
{
wxString path = dialog.GetPath();
wxMessageBox(path);
}
Примечание. Вы можете использовать path
по своему усмотрению, здесь оно просто отображается в окне сообщения.
Но, конечно, если вы хотите отображать имена папок в своем пользовательском диалоговом окне для своего пользователя, вы можете использовать решение RyanWilcox .
РЕДАКТИРОВАТЬ: В своем коде вы не создали dirList
(или вы опубликовали неполный код)
wxArrayString MainWindow::createFolderList()
{
wxDir dir(wxGetCwd());
if ( !dir.IsOpened() )
;//handle this error here
wxString dirName = dir.GetName();
wxArrayString dirList;
dir.GetAllFiles(dirName, &dirList, wxEmptyString, wxDIR_DIRS | wxDIR_FILES);
//Note that next statement is optional
dirList.shrink();
return dirList;
}
Ваша реализация может отличаться, но я адаптировал этот код из моего собственного рабочего кода.