MFC 中的路径选择组件

Posted

技术标签:

【中文标题】MFC 中的路径选择组件【英文标题】:Path Selection Component in MFC 【发布时间】:2012-09-06 07:28:21 【问题描述】:

我在 MFC 的对话框应用程序中有一个编辑框。我使用这个组件来选择路径。我可以编辑路径。我可以在此控件中提供建议功能吗?那就是当用户编辑路径时,组件根据输入为用户提供可能的建议?或者我可以使用 ComboBox Control 实现此功能吗?

谢谢

【问题讨论】:

【参考方案1】:

在您的 OnInitDialog() 中,m_pathEdit 是您的 CEdit 控件:

SHAutoComplete(m_pathEdit.m_hWnd, SHACF_DEFAULT);

在调用对话框的 DoModal() 之前:

CoInitialize(NULL);

从 DoModal() 返回后:

CoUninitialize();

那么您的编辑控件会自动完成 URL 和文件路径。

【讨论】:

我有一个简单的 MFC 对话框应用程序。我没有将 DoModal() 用于单独的对话框。所以在我的情况下,我应该把 CoInitialize(NULL);和 CoUninitialize();电话?谢谢 @Sarfraz InitInstance() 您的应用程序类。这已经存在于与您的对话框不同的 .cpp 文件中,并且是您的对话框的开始位置。 感谢您的回复。因为我只想在编辑控件中显示目录。但是当我将它与 SHACF_FILESYS_DIRS 标志一起使用时。它什么也不显示。放弃之前的评论。 @Sarfraz:我怀疑您已经将SHAutoComplete 放在基类 OnInitDialog 之前,或者您没有在 CoInitialize 和 CoUninitialize 之间包装 DoModal。将 SHAutoComplete 放在 OnInitDialog 返回 TRUE 之前,并确保 InitInstance 中的 DoModal 在 CoInitialize 和 CoUninitialize 之间。

以上是关于MFC 中的路径选择组件的主要内容,如果未能解决你的问题,请参考以下文章

创建 MFC 对话框让用户选择文件路径

IWinHttpRequest Create COM

我安装vs2017时安装的c++没安mfc请问怎么单独添加这个组件

MFC按钮打开选择一个文件夹,然后获得文件夹中的所有txt文件名称!

mfc怎么实现打开文件夹

如何获得MFC列表框中选中的数据