为 ListView(图标模式)添加投影效果?

11
如果您在Windows资源管理器中查看缩略图图像,您会注意到它们具有投影效果。这个效果是与ListView控件相关联的吗?还是Windows资源管理器进行了一些额外的编码来实现这个效果?
编辑: 所以结果证明Windows使用另一个控件。那么我的问题是如何将投影效果添加到“普通”的ListView中。

资源管理器不使用系统列表视图控件。 - David Heffernan
它使用了我们无法访问的控件吗? - user4182981
1
确实是这样的:https://dev59.com/rG855IYBdhLWcg3w5IrZ - David Heffernan
这很复杂...你可能最终会制作一个半透明位图并模糊它,以制作阴影... - user3079266
@Mints97 这有什么难的,我需要学习什么才能做到呢?我的想法是在图像本身上绘制阴影,我已经尝试过了,效果很好,但是有一个问题:当我选择ListView项目时,阴影也会被选中!那么有没有办法只让ListView项目的一部分显示为选中状态(即没有阴影的部分)? - user4182981
我正在运行Windows 10,缩略图图片没有任何阴影。您能否添加一个屏幕截图来描述您想要的效果? - IInspectable
2个回答

1
对于标准的列表视图,您可能希望使用一种称为自定义绘制的技术(https://msdn.microsoft.com/en-us/library/windows/desktop/ff919569(v=vs.85).aspx)。基本上,您要求列表视图不绘制其项,而是向您发送一些窗口消息,以便您自己绘制它们。这是一种非常灵活但也麻烦的技术,因为您需要处理许多事情(例如,一个项目是否被选中/禁用,字体,颜色等)。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接