默认情况下,Delphi7无法做到这一点,但我希望有一种方法可以在某种程度上提供帮助。我的照片显示了我想用我的ListViews做的事情,这个透明的选择允许下面的颜色通过它来显示,就像TTreeView所做的那样(并且由于某种原因在Delphi7中做得很好)。
该网站不允许我张贴图片,因为这是我的第一篇文章。如果您查看Windows (或File)资源管理器右侧的listview,其中包含文件,特别是在Windows 7、Windows 8上具有详细信息视图的情况下,您将看到选择栏是透明的。它不会破坏它下面的对象的颜色(文件和文件属性)。这就是我想要的。有趣的是,let方面的treeview具有相同的透明度,可以在Delphi 7的treeview中自动获得,不会有任何特殊的更改。我认为这两个组件来自同一个CommCtrl (或ComCtrls) dll/unit,但是listview不会在Delphi7中自动完成它。这是我的问题。而OwnerDrawn不是我所期望的答案。
发布于 2015-03-23 19:59:42
您所引用的列表视图控件(资源管理器使用的控件)对第三方应用程序不可用。资源管理器使用的列表视图控件具有类名DirectUIHWND。标准的系统列表视图是SysListView32。Delphi列表视图控件是SysListView32。您不能在Delphi应用程序中承载DirectUIHWND控件。
所有这一切都意味着,如果希望在应用程序中产生相同类型的效果,就必须自己实现它。
https://stackoverflow.com/questions/29218035
复制相似问题