Delphi XE2 には、画像のサムネイルを含む ListView があります。サムネイルの 1 つをクリックすると、ListView が暗い半透明のレイヤーで覆われ、クリックされた画像がこのレイヤーの上にズームされます。
ListView の上に TImage を配置することはできないため、レイヤーに AlphaBlend 128 透明度を持つ別のフォームを使用しようとしました。ただし、この AlphaBlend フォームは、その上の TImage もアルファ透明にします。
したがって、ターゲットはレイヤーフォームを AlphaBlend-transparent にすることですが、その上の画像は作成しないようです。これはどのように達成できますか?
2012 年 8 月 7 日の編集:
解決しました!! このイメージを育てるための決定的なヒントを与えてくれた Remy Lebeau に感謝します。Opacity (つまり AlphaBlend) プロパティを持つことがわかっている唯一の画像タイプである TMS から TW7Image を見つけました。私はこの手順を使用しました:
W7Image で、Picture プロパティに Black 画像を読み込み、Opacity を 192 に設定し、Stretch モードを設定します。
他の画像を中央、プロポーショナルなどに設定してから、次のようにします。
// In this order (!):
// 1.
imgSemiTransparentBlackLayer.Parent := MyListView;
imgSemiTransparentBlackLayer.Align := alClient;
// 2.
imgTop.Picture.LoadFromFile('MyPicture.png');
imgTop.Parent := MyListView;
imgTop.Align := alClient;