Delphi/C++ Builder の TreeNode (TreeView) で OverlayIndex の使い方

TreeView へ ImageList を設定しておいて、目的のノードへ OverlayIndex を指定するが、下記のコードのみでは何も起きない
(例) 1番のイメージへ、5番のイメージを重ねたい
TreeNode.ImageIndex := 1;
TreeNode.SelectedIndex := 1;
TreeNode.OverlayIndex := 5;
OverlayIndex を利用するには、ImageList の方で、あらかじめ Overlay へ利用するイメージインデックスを決めておかなければならない(利用できる透過イメージは最大4つまで)

ImageList の 5番目を利用する場合
ImageList1.Overlay(5, 0);
のようにあらかじめ指定しておく
引数は、Overlay(透過イメージのIndex, OverlayIndex で利用する箱の番号(0~3))
TreeNode.ImageIndex := 1;
TreeNode.SelectedIndex := 1;
TreeNode.OverlayIndex := 0; // Overlay(5, 0); の 0
OverlayIndex は、ImageList の番号ではなく、Overlayで指定した箱(0~3)の番号となる

コメント