当我尝试实例化一个CFileDialog对象时,它会显示文件夹和文件.如何CFileDialog单独为文件夹创建浏览?
Nic*_*kis 11
你做不到CFileDialog.
你可以使用SHBrowseForFolder函数或它的包装器,
如CFolderDialog - 选择文件夹.
就像有人提到的,使用CFolderPickerDialog效果很好。我想举例说明如何使用它,特别是在使用多选标志时:
CFolderPickerDialog folderPickerDialog(initialFolder, OFN_FILEMUSTEXIST | OFN_ALLOWMULTISELECT | OFN_ENABLESIZING, this,
sizeof(OPENFILENAME));
CString folderPath;
if (folderPickerDialog.DoModal() == IDOK)
{
POSITION pos = folderPickerDialog.GetStartPosition();
while (pos)
{
folderPath = folderPickerDialog.GetNextPathName(pos);
}
}
Run Code Online (Sandbox Code Playgroud)
从Vista开始,建议将IFileDialog与FOS_PICKFOLDERS选项一起使用(参见msdn):
CFileDialog od(TRUE/*bOpenFileDialog*/, NULL, NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT , NULL, NULL, 0,
TRUE/*bVistaStyle*/);
IFileOpenDialog * openDlgPtr = od.GetIFileOpenDialog();
if ( openDlgPtr != NULL )
{
openDlgPtr->SetOptions(FOS_PICKFOLDERS);
openDlgPtr->Release();
}
od.DoModal();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21190 次 |
| 最近记录: |