【问题标题】:MFC: Address Bar control like Windows ExplorerMFC:地址栏控件,如 Windows 资源管理器
【发布时间】:2014-01-17 02:34:15
【问题描述】:

在我的 MFC 应用程序中,我试图创建一个类似于 Windows 7 打开文件对话框的窗口,但它浏览的是虚拟/假文件系统。它不需要像素完美,但我希望尽可能与本机操作系统对话框保持一致。

可能最具挑战性的部分是打开对话框顶部的地址栏。地址栏控件也位于所有 Windows 资源管理器窗口的顶部。它显示构成您的路径的文件夹名称。它在鼠标悬停时显示和隐藏按钮(包括有吸引力的淡入淡出动画),在单击名称时更改活动目录,并在单击名称之间的三角形时显示子菜单。这似乎与任何 MFC 控件(或控件组)都不对应。 Spy++ 将其显示为“AddressDisplay Control”,但除此之外我找不到太多文档。

有没有办法在 MFC 中访问或模仿这样的控件?另外,我没有浏览 real 文件系统,所以我必须能够告诉控件要显示什么——我不能只将它指向 C:\ 并让系统执行休息。

这是相关控件的图片。

【问题讨论】:

  • 一张图片会很有帮助,更详细一点。
  • 该控件实际上位于每个 Windows 资源管理器对话框和文件打开对话框的顶部。我假设这里的大多数用户都熟悉它。我已经附上了一张图片,以防我的描述缺少标记。
  • 面包屑栏。在 Windows 8.1 上,它是自定义绘制 ToolbarWindow32 的子类。 Microsoft 不再共享他们的自定义控件。如果您不想创建自己的,那么您将不得不去购物。
  • 汉斯,你为什么不把它作为答案发布?

标签: windows mfc windows-explorer


【解决方案1】:

不幸的是,我认为这是 Microsoft 决定不通过功能包向开发人员公开的控件之一。 Feature Pack 是从BCG control library 开发的。而且,该库包含您想要的控件。但是,它不是免费的。唯一的另一种选择是自己编写代码。

【讨论】:

  • 另外,如果它使用的是 shell,那么很难让它显示任意的非磁盘路径。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-11
  • 2010-12-30
  • 2013-03-20
  • 2010-11-29
  • 2010-09-17
  • 2012-09-08
相关资源
最近更新 更多