The CQGFill interface encapsulates all the information on a fill.

Fills have the notion of legs. Any fill has at least one leg. If the order instrument is spread, the number of legs will be more than one.
All fill properties are adjusted to the leg notion by accepting indexes; where the index 1 implies the first leg, index 2 implies the second, etc.
Index 0 gives the actual value of the spread. If there was only one leg, contents of fill properties with index 0 and index 1 will be equal.
See the usage of CQGFill object in the OrderChanged event's example section.