Delphi 7 on Windows 7 plus 需要在 TListView 中进行透明选择

Need transparent selections in TListView for Delphi 7 on Windows 7 plus

Delphi7 默认情况下无法执行此操作,但我希望有一些方法可以帮助您完成此操作。我的图片显示了我想用我的 ListView 做什么,透明选择允许下面的颜色通过它显示,就像 TTreeView 所做的那样(并且做得很好![在此处输入图片描述][1] Delphi7因为某些原因)。

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

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

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