0

Delphi7默认无法做到这一点,但我希望有办法在一些帮助下做到这一点。我的图片显示了我想用我的 ListViews 做什么,透明的选择允许下面的颜色通过它显示,就像 TTreeView 所做的一样(并且做得很好![在此处输入图像描述][1] Delphi7 出于某种原因)。

该网站不允许我发布图片,因为这是我的第一篇文章。如果您查看 Windows(或文件)资源管理器右侧的列表视图,文件所在的位置,尤其是在详细信息视图中,在 Windows 7、Windows 8 上,您会看到选择栏有点透明。它不会破坏它下面的对象(文件和文件属性)的颜色。这就是我需要的。有趣的是,具有相同透明度的 let 侧的树视图在 Delphi 7 的树视图中自动可用,无需任何特殊更改。我认为这两个组件来自同一个 CommCtrl(或 ComCtrls)dll/单元,但列表视图不会在 Delphi7 中自动执行。那是我的问题。OwnerDrawn 不是我希望的答案。

4

1 回答 1

0

您所指的列表视图控件,即 Explorer 使用的控件,不适用于第三方应用程序。Explorer 使用的列表视图控件具有类名DirectUIHWND。标准系统列表视图是SysListView32. Delphi 列表视图控件是SysListView32. 您不能DirectUIHWND在 Delphi 应用程序中托管控件。

所有这些都意味着,如果您希望在您的应用程序中产生相同类型的效果,您必须自己实现它。

于 2015-03-23T19:59:42.923 回答