Aquí te muestra como hacer todo lo que tu pides
http://www.clubdelphi.com/foros/show...=&threadid=794
Pero como para "molestar" un poquito, también te recomiendo este hilo, donde no esta todo lo del anterior, pero el código es bastante mas prolijo (y no es porque es mío!!!

)
http://www.clubdelphi.com/foros/arch...ic.php?t=19728