- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
function OnShape(sh: TShape; X, Y: Integer) : TBrushStyle;
var r, cx, cy, d2: Integer;
begin
r := sh.Width div 2;
cx := sh.Left + r;
cy := sh.Top + r;
d2 := (X - cx) * (X - cx) + (Y - cy) * (Y - cy);
OnShape := bsClear;
if d2 < r*r then OnShape := bsSolid;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Shape1.Brush.Color := clRed;
Shape1.Brush.Style := OnShape(Shape1, X, Y);
Shape2.Brush.Color := clLime;
Shape2.Brush.Style := OnShape(Shape2, X, Y);
Shape3.Brush.Color := clYellow;
Shape3.Brush.Style := OnShape(Shape3, X, Y);
end;
Откуда бы вы думали это? Правильно, "Занимательное программирование Delphi". Глава 14. Светофор.
SmackMyBitchUp 19.04.2011 19:39 # +3
Интересно, как сам автор трактует таковое название?
bugmenot 19.04.2011 21:41 # +2
OnXXX этож делегатское имя
JeremyW 19.04.2011 19:54 # +1
SmackMyBitchUp 20.04.2011 19:19 # +4
bugmenot 20.04.2011 19:30 # 0