0

Delphi7 はデフォルトではこれを行うことができませんが、何らかの助けを借りてそれを行う方法があることを願っています。私の写真は、ListViews でやりたいことを示しています。透明な選択により、TTreeView のように下の色が透けて見えるようになっています ([ここに画像の説明を入力してください][1] Delphi7 で何らかの理由でうまくいきます)。

これが私の最初の投稿であるため、このサイトでは写真を投稿できませんでした。Windows (またはファイル) エクスプローラーの右側にあるリストビューを見ると、特に Windows 7 や Windows 8 の詳細ビューにファイルがある場合、選択バーが透明になっていることがわかります。その下のオブジェクト (ファイルおよびファイル属性) の色は破壊されません。それが私が持つ必要があるものです。興味深いことに、同じ透過性を示す左側のツリービューは、特別な変更を加えることなく、Delphi 7 のツリービューで自動的に利用できます。これら 2 つのコンポーネントは同じ CommCtrl (または ComCtrls) dll/ユニットから来たと思っていましたが、Delphi7 では listview が自動的にそれを行いません。それが私の問題です。そして、OwnerDrawn は私が望んでいる答えではありません。

4

1 に答える 1

0

参照しているリスト ビュー コントロール (Explorer で使用されるもの) は、サード パーティのアプリケーションでは使用できません。エクスプローラーで使用されるリスト ビュー コントロールには、クラス名がありDirectUIHWNDます。標準のシステム リスト ビューはSysListView32です。Delphi リスト ビュー コントロールはSysListView32. DirectUIHWNDDelphi アプリケーションでコントロールをホストすることはできません。

つまり、アプリケーションで同じタイプの効果を生成したい場合は、自分で実装する必要があります。

于 2015-03-23T19:59:42.923 に答える