procedure TForm1.Timer1Timer(Sender: TObject);
var
DC: HDC;
color: TColorRef;
pont:Tpoint;
begin
getcursorpos(pont);
DC:=GetDC(0);
try
Color:=GetPixel(DC,pont.x,pont.y);
Win32Check(Color<>CLR_INVALID);
form1.Color:=color;
finally
ReleaseDC(0,DC);
end;
end;

Megjegyzés:
A form színe egyenlő lesz a kurzor alatti pixel színével
A TComponent minden leszármazottja egy CM_MOUSEENTER illetve CM_MOUSELEAVE üzenetet küld amikor az
egér belép vagy kilép a komponens keretein. Ahhoz, hogy ezeket az üzeneteket 'elkapjuk' egy
üzenetkezelő eljárást kell létrehoznunk. Az alábbi példa egy Formon lévő három címke (Label) és egy
jelölőnégyzet (CheckBox) szövegének színét változtatja meg a kurzor belépésekor és kilépésekor.
// Fölül kell írni a WndProc eljárást
procedure WndProc(var Message : TMessage); override;
procedure ChangeColor(Sender : TObject; Msg : Integer);
...
procedure TForm1.WndProc(var Message : TMessage);
begin
// Melyik komponens fölött van a kurzor?
// Annak a színe változzon!
if Message.LParam = Longint(Label1) then
ChangeColor(Label1, Message.Msg);
if Message.LParam = Longint(Label2) then
ChangeColor(Label2, Message.Msg);
if Message.LParam = Longint(Label3) then
ChangeColor(Label3, Message.Msg);
if Message.LParam = Longint(CheckBox1) then
ChangeColor(CheckBox1, Message.Msg);
inherited WndProc(Message);
end;

procedure TForm1.ChangeColor(Sender : TObject; Msg : Integer);
Begin
// Ha Címke (Label) fölött van a kurzor

If Sender Is TLabel Then
Begin
if (Msg = CM_MOUSELEAVE) then
(Sender As TLabel).Font.Color := clWindowText;
if (Msg = CM_MOUSEENTER) then
(Sender As TLabel).Font.Color := clBlue;
End;

// Ha CheckBox fölött van a kurzor
If Sender Is TCheckBox Then
Begin
if (Msg = CM_MOUSELEAVE) then
(Sender As TCheckBox).Font.Color := clWindowText;
if (Msg = CM_MOUSEENTER) then
(Sender As TCheckBox).Font.Color := clRed;
End;
End;

A szín megváltoztatása helyett bárilyen más eseményt meg lehet határozni...