DefaultItemHeight is not much use to you: at runtime its value is always 0.
However, TListview has a public Canvas property so you can get dimensions of Captions etc. using Canvas.TextHeight etc.
Also each TListItem has a public Item.DisplayRect() function so you can know precisely where to position your editor.
The protected methods and properties are not needed in this case.