Ich würde auch erst mal mit MouseMove anfangen, am besten über einer Paintbox ( ist sauberer, find ich

).
Hier mal ein Bild, wie ein Programm von den Machern eines Delphibuchs aussieht.
s1.directupload.net/.../110409/8bykgw74.png
Das enthält leider nicht eine ganz Palette gleichzeitig ( kann man selber einstellen )
Meine Idee für eineganze Palette der Farben: Du zeichnest ein Dreieck, das in jeder Ecke rot/grün/blau hat. Und dann gehste für jeden Punkt in dem Dreieck die Entfernung zu den Ecken durch. Abhängig von der Entfernung skalierst du die Farbe - hätte da auch schon eine entsprechende Funktion zum Farbskalieren an der Hand :p
Wie man die einzelnen Pixel des Dreiecks durchgeht wäre sehr umständlich, aber ginge
Dann lieste einfach die Farbe der Stelle aus, wo gerade die Mouse ist ("MyColor := Canvas.Pixels[X,Y]") und drehst noch Rot und Blau aus ( in Delphi ist es das "BGR-Modell" statt RGB )
Hoffe ich konnte helfen, Grüße Thomas