Короче ну там в школу была работенка , ну там при наведении на компонент shape она горела как светофор (красный,желтый,зеленых). Ну там решение удивило меня хотя его можно было решить на очень легким способом. Ну некоторые учителя смотрят на программу а не на код , как там программа работает , если за*бись то 5 если нет , то ...
Вот простой код решение
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