【问题标题】:Is there Path Edit Control in Win32?Win32中是否有路径编辑控件?
【发布时间】:2011-12-06 05:05:30
【问题描述】:

我想添加一个编辑框(或者它是一个组合框?)用于使用 Visual C Win32 输入文件路径,以便它提供自动完成功能 - 与您在 Windows 资源管理器的地址栏中键入时相同。

是否有我缺少的通用控件或属性允许我这样做?

【问题讨论】:

标签: c++ c visual-studio winapi


【解决方案1】:

您可以使用标准编辑控件并调用SHAutoComplete。像这样:

SHAutoComplete(editWnd, SHACF_DEFAULT);

系统会为您完成剩下的工作。

【讨论】:

  • 这非常简单,在我的测试应用程序中工作得非常好,但是当我把它放在主应用程序中时 SHAutoComplete 返回 E_NOINTERFACE - 知道为什么会这样吗?那是因为我的(已经存在的)CoInitialize 调用是多线程的还是什么?
  • 用户界面 API 通常需要单线程单元。 support.microsoft.com/kb/287087
【解决方案2】:

没有通用控制。但是,您可以做的是使用标准的 Edit 控件并将 IAutoComplete 接口附加到它,可以将其配置为使用文件系统(除其他外)作为从中获取字符串值的源。最简单的方法是调用 SHAutoComplete 函数。

【讨论】:

    猜你喜欢
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 2011-06-15
    • 2011-07-09
    • 2020-12-14
    • 1970-01-01
    相关资源
    最近更新 更多