Winapi ListVView进度指示器

Winapi ListVView进度指示器,winapi,Winapi,我希望使用标准win32功能在listView中自定义绘制进度指示器,此时,我可以从NM_CUSTOMDRAW消息中设置0%或100%的背景色,让windows处理,或返回CDRF_SKIPDEFAULT,其中我假设我可以根据百分比用颜色填充矩形的一部分,然后在顶部绘制文本,给出一个非常基本的进度表,但看起来确实有些整洁所以我想知道是否可以从基本的winapi中实现类似的功能?找到了一个示例,演示了如何使用默认的Windows函数实现这一点 在Windows中看到的任何内容都可以使用Window

我希望使用标准win32功能在listView中自定义绘制进度指示器,此时,我可以从NM_CUSTOMDRAW消息中设置0%或100%的背景色,让windows处理,或返回CDRF_SKIPDEFAULT,其中我假设我可以根据百分比用颜色填充矩形的一部分,然后在顶部绘制文本,给出一个非常基本的进度表,但看起来确实有些整洁所以我想知道是否可以从基本的winapi中实现类似的功能?

找到了一个示例,演示了如何使用默认的Windows函数实现这一点

在Windows中看到的任何内容都可以使用Windows API完成。事实上,您链接到了一个使用Windows API实现的答案。现在,你真正的问题是什么?我确实仔细查看了它,并对照Microsoft发布的函数检查了函数,DrawElement/GetElementDetails/ThemeServices没有出现。这些都是围绕UxTheme API的包装。有关详细信息,请参阅。谢谢,包装器是Delph格式的,包装器名称与链接到,很明显,我可以弄清楚如何获得字体和颜色,以及Meservices.ThemesEnabled是什么,但似乎使用最多的是Meservices.GetElementDetails/ThemeServices.DrawElement,而且不清楚这些包装器的用途,因此,如果您或其他任何人知道如何使用标准win32函数实现所需的结果,那么一定要告诉他们。