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

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

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

コメント