La mejor forma de representar un icono de superposición en la parte superior del icono básico del nodo TVirtualTreeView de Delphi

Estoy convirtiendo una vista de árbol del TTreeView estándar para usar TVirtualStringTree. Mi desafío final es implementar una función en la que necesito dibujar un indicador de estado 'pasar / fallar' en la parte superior del icono del nodo conocido. Con TTreeView utilicé:

  var
   R : TRect;
  begin
    R := Node.DisplayRect( True );
    StatusIconList.Draw( TreeView1.Canvas,
                         R.Left - StatusIconList.Width - 14,
                         R.Top,
                         3 {MyOverlayImageIndex} );

El resultado es la cruz roja sobre el icono básico como se muestra a continuación:

Con TVirtualStringTree Esperaba encontrar una mejor manera u obtener mejores posiciones conocidas para la posición requerida del icono de superposición. Estoy haciendo

   procedure DrawFailed;
    var
     R : TRect;
    begin
      R := CellRect;
      StatusIconList.Draw( TargetCanvas,
                           R.Left - StatusIconList.Width + 49 + Sender.GetNodeLevel( Node ) * 16,
                           R.Top,
                           siiFailed );
    end;

¿Es esta la mejor solución? ¿Hay una mejor manera de obtener la esquina superior / izquierda del icono básico sin la horrible llamada de nivel de nodo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta