【问题标题】:Win32: How to access Windows Listview Header Control FiltersWin32:如何访问 Windows Listview 标题控件过滤器
【发布时间】:2019-05-08 00:00:55
【问题描述】:

根据MSDN documentation可以在ListView中添加过滤栏:

通过为标题控件指定 HDS_FILTERBAR 窗口样式,您可以启用在列标题下方放置过滤器编辑框。编辑框旁边会出现一个过滤器按钮。

我可以通过HDITEMHDTEXTFILTER 访问过滤器字符串,但如何更改基础编辑和按钮?

假设我想将默认过滤器文本占位符从“在此处输入文本”更改为“在此处键入”,就像使用 Edit_SetCueBannerText 或更改过滤器按钮外观一样?

假设:Windows Vista + , Common Control 6.0 +

【问题讨论】:

  • 我不认为假设过滤框或按钮实际上是编辑和按钮控件,而不仅仅是绘制的元素是安全的。例如,您可以轻松验证检查 HDN_BEGINFILTEREDIT 上的标题子列表。

标签: c++ winapi c++builder


【解决方案1】:

如果您不介意一些 hack - 您可以使用例如 EnumChildWindows() 进入子窗口 - 那么您可以使用 hwnd 发送命令等。首先在您正在运行的程序上使用“spy++”来调查父/子窗口关系的结构。

【讨论】:

    猜你喜欢
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    相关资源
    最近更新 更多