在 CMFCEditBrowseCtrl 上启用文件夹浏览按钮的问题
Issue enabling folder browse button on CMFCEditBrowseCtrl
这是资源管理器为这个特定的 EditBrowseCtrl 显示的内容。您可以看到“浏览模式”选项设置为“文件夹浏览”。
下面是我 运行 程序(无浏览按钮)时实际对话框的样子:
我也尝试通过 EnableFolderBrowseButton
方法启用文件夹浏览按钮,但下面只是给我一个通用的“遇到不正确的参数”异常。
CMFCEditBrowseCtrl* pEdit;
pEdit = (CMFCEditBrowseCtrl*)GetDlgItem(IDC_MFCEDITBROWSE);
pEdit->EnableFolderBrowseButton();
根据要求,.rc 文件的内容如下:
/////////////////////////////////////////////////////////////////////////////
//
// Dialog Info
//
IDD_PREFERENCES_PROPPAGE DLGINIT
BEGIN
IDC_MFCLINK1, 0x37c, 175, 0
0x4d3c, 0x4346, 0x694c, 0x6b6e, 0x555f, 0x6c72, 0x733e, 0x7379, 0x616c,
0x2e74, 0x6f63, 0x3c6d, 0x4d2f, 0x4346, 0x694c, 0x6b6e, 0x555f, 0x6c72,
0x3c3e, 0x464d, 0x4c43, 0x6e69, 0x5f6b, 0x7255, 0x506c, 0x6572, 0x6966,
0x3e78, 0x7468, 0x7074, 0x3a73, 0x2f2f, 0x2f3c, 0x464d, 0x4c43, 0x6e69,
0x5f6b, 0x7255, 0x506c, 0x6572, 0x6966, 0x3e78, 0x4d3c, 0x4346, 0x694c,
0x6b6e, 0x545f, 0x6f6f, 0x746c, 0x7069, 0x3c3e, 0x4d2f, 0x4346, 0x694c,
0x6b6e, 0x545f, 0x6f6f, 0x746c, 0x7069, 0x3c3e, 0x464d, 0x4c43, 0x6e69,
0x5f6b, 0x7546, 0x6c6c, 0x6554, 0x7478, 0x6f54, 0x6c6f, 0x6974, 0x3e70,
0x4146, 0x534c, 0x3c45, 0x4d2f, 0x4346, 0x694c, 0x6b6e, 0x465f, 0x6c75,
0x546c, 0x7865, 0x5474, 0x6f6f, 0x746c, 0x7069, "6"
IDC_MFCEDITBROWSE, 0x37c, 42, 0
0x4d3c, 0x4346, 0x6445, 0x7469, 0x7242, 0x776f, 0x6573, 0x4d5f, 0x646f,
0x3e65, 0x3c32, 0x4d2f, 0x4346, 0x6445, 0x7469, 0x7242, 0x776f, 0x6573,
0x4d5f, 0x646f, 0x3e65,
0
END
非常感谢任何帮助。
我终于发现我的问题是在没有调用基础 class OnInitDialog
(CDialogEx::OnInitDialog
).
的情况下覆盖了 OnInitDialog
这是资源管理器为这个特定的 EditBrowseCtrl 显示的内容。您可以看到“浏览模式”选项设置为“文件夹浏览”。
下面是我 运行 程序(无浏览按钮)时实际对话框的样子:
我也尝试通过 EnableFolderBrowseButton
方法启用文件夹浏览按钮,但下面只是给我一个通用的“遇到不正确的参数”异常。
CMFCEditBrowseCtrl* pEdit;
pEdit = (CMFCEditBrowseCtrl*)GetDlgItem(IDC_MFCEDITBROWSE);
pEdit->EnableFolderBrowseButton();
根据要求,.rc 文件的内容如下:
/////////////////////////////////////////////////////////////////////////////
//
// Dialog Info
//
IDD_PREFERENCES_PROPPAGE DLGINIT
BEGIN
IDC_MFCLINK1, 0x37c, 175, 0
0x4d3c, 0x4346, 0x694c, 0x6b6e, 0x555f, 0x6c72, 0x733e, 0x7379, 0x616c,
0x2e74, 0x6f63, 0x3c6d, 0x4d2f, 0x4346, 0x694c, 0x6b6e, 0x555f, 0x6c72,
0x3c3e, 0x464d, 0x4c43, 0x6e69, 0x5f6b, 0x7255, 0x506c, 0x6572, 0x6966,
0x3e78, 0x7468, 0x7074, 0x3a73, 0x2f2f, 0x2f3c, 0x464d, 0x4c43, 0x6e69,
0x5f6b, 0x7255, 0x506c, 0x6572, 0x6966, 0x3e78, 0x4d3c, 0x4346, 0x694c,
0x6b6e, 0x545f, 0x6f6f, 0x746c, 0x7069, 0x3c3e, 0x4d2f, 0x4346, 0x694c,
0x6b6e, 0x545f, 0x6f6f, 0x746c, 0x7069, 0x3c3e, 0x464d, 0x4c43, 0x6e69,
0x5f6b, 0x7546, 0x6c6c, 0x6554, 0x7478, 0x6f54, 0x6c6f, 0x6974, 0x3e70,
0x4146, 0x534c, 0x3c45, 0x4d2f, 0x4346, 0x694c, 0x6b6e, 0x465f, 0x6c75,
0x546c, 0x7865, 0x5474, 0x6f6f, 0x746c, 0x7069, "6"
IDC_MFCEDITBROWSE, 0x37c, 42, 0
0x4d3c, 0x4346, 0x6445, 0x7469, 0x7242, 0x776f, 0x6573, 0x4d5f, 0x646f,
0x3e65, 0x3c32, 0x4d2f, 0x4346, 0x6445, 0x7469, 0x7242, 0x776f, 0x6573,
0x4d5f, 0x646f, 0x3e65,
0
END
非常感谢任何帮助。
我终于发现我的问题是在没有调用基础 class OnInitDialog
(CDialogEx::OnInitDialog
).
OnInitDialog