説明

PieceオブジェクトのIndexプロパティの値割り当ては、特定ItemオブジェクトのPiecesコレクション毎に行われ、PiecesコレクションのAddメソッドを呼び出した順に1, 2, 3, … の順に与えられます。

対応

例として、2つのItemオブジェクトがあり、どちらもまだピースを1つも追加していないものとし、片方のItemオブジェクト(仮にKnTView1.Items(1))のPiecesコレクションのAddメソッドを呼び出してPieceを追加しますと、このピースのIndex, ItemIndexプロパティの値は次のようになります。

KnTView1.Items(1).Pieces(1).Index: 1
KnTView1.Items(1).Pieces(1).ItemIndex: 1

次にもう片方のItemオブジェクト(仮にKnTView1.Items(2))に同様の手順でPieceを追加しますと、こちらは、

KnTView1.Items(2).Pieces(1).Index: 1
KnTView1.Items(2).Pieces(1).ItemIndex: 2
となります。

すべてのピースから1つのピースを特定するには、ピースのインデックス(Piece.Index)と、ピースの属するアイテムのインデックス(Piece.ItemIndex)の両方の比較を行います。
この他に、Piece.Keyプロパティと言うものがあります。Keyプロパティには任意の文字列を設定できますが、そのPieceオブジェクトの属するPiecesコレクション内の他のPieceオブジェクトのKeyプロパティと異なる必要があります。