Hola,
Como puede verse, me limité a copiar el código que Román escribió en su momento en cierto Hilo de estos Foros. Entonces, parece que las siguientes instrucciones:
Código Delphi
[-]
if not Active then
InflateRect(R, 0, -3);
No son necesarias en el código anterior, o, en todo caso, llevan a cabo algo que ahora mismo se me escapa. Que conste.
Actualización: Adjunto una especie de ejemplo de esto que estamos tratando.