Короче ну там в школу была работенка , ну там при наведении на компонент shape  она горела как светофор (красный,желтый,зеленых). Ну там решение удивило меня хотя его можно было решить на очень легким способом. Ну некоторые учителя смотрят на программу а не на код , как там программа работает , если за*бись то 5 если нет  , то ...  :D

Вот простой код решение

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    shp1: TShape;
    shp2: TShape;
    shp3: TShape;
    procedure shp1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure shp3MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure shp2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.shp1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);// событие когда указатель мышки над компонентов  (событие onmousemove)
begin
  shp1.Brush.Color:=cllime;  // при наведении на 3 компонент горит зеленый  свет , ну у меня как всегда бардак с порядками , ну сами поменяете местами 
     shp2.Brush.Color:=clWhite; // это нужно для того чтобы очистить другие кружочки , которые до этого горели  
        shp3.Brush.Color:=clWhite; // это нужно для того чтобы очистить другие кружочки , которые до этого горели  
end;

procedure TForm1.shp3MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer); // событие когда указатель мышки над компонентов  (событие onmousemove)
begin
    shp3.Brush.Color:=clRed;
shp1.Brush.Color:=clWhite;
    shp2.Brush.Color:=clWhite;
end;

procedure TForm1.shp2MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);// событие когда указатель мышки над компонентов  (событие onmousemove)
begin
    shp3.Brush.Color:=clWhite;
shp1.Brush.Color:=clWhite;
    shp2.Brush.Color:=clYellow;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer); // это для того чтобы не горел ни один когда  указатель мышки не над ними 
begin
    shp3.Brush.Color:=clWhite;
shp1.Brush.Color:=clWhite;
    shp2.Brush.Color:=clWhite;
end;

end.

Ну думаю все понять , приложил коммент. Если что могу доработать программу чтобы она менял свет автоматом как настоящий светофор

Скачать программу можете тут

Код:
http://rghost.ru/42005362