下面是我用来创建“文件打开对话框”的代码。效果很好,代码中没有问题,但是出于某种原因,我希望隐藏视图控件的更改(我在附件中高亮显示了该内容)
CString strFilter = _T(".mp3");
CFileDialog fileDialog(TRUE, NULL, NULL, OFN_ALLOWMULTISELECT |
OFN_HIDEREADONLY | OFN_LONGNAMES, strFilter, NULL, 0, TRUE);
CString szStrTitle = _T("Select the file");
fileDialog.m_ofn.lpstrTitle = szStrTitle;
TCHAR *filenameBuffer = new TCHAR[4000 * 1000];
filenameBuffer[0] = 0;
fileDialog.m_ofn.lpstrFile = filenameBuffer;
fileDialog.m_ofn.nMaxFile = 4000 * 1000;
fileDialog.DoModal();
答案 0 :(得分:3)
如今,自定义通用文件对话框的正确方法是使用IFileDialogCustomize
。该界面在https://docs.microsoft.com/en-us/windows/desktop/api/shobjidl_core/nn-shobjidl_core-ifiledialogcustomize
对于您的特定情况,您需要使用IFileDialogCustomize::RemoveControlItem()
您还可以使用IFileDialogCustomize::SetControlItemState()
来隐藏目标控件。