Текущий архив: 2004.04.04;
Скачать: CL | DM;
Вниз
Реакция на указатель мыши объекта. Найти похожие ветки
← →
novi (2004-03-14 15:46) [0]Уважаемые мастера! Помогите пожалуйста.
Условие задачи следующее: на форме расположено три круга разного цвета. Сначала они прозрачные, но по наведению мыши в круг они должны заливаться своим цветом, после увода мыши должны стать опять прозрачными.
Написал функцию определения мыши, а в процедуре закраски что-то не получается.
function Svet(var s:TBrushStyle):TBrushStyle;
var r, cx, cy, d:real; shp: TShape;
x, y: integer;
begin
r:= shp.Width/2;
cx:= shp.Width/2;
cy:= shp.Height/2;
d:= sqrt(sqr(cx-x)+sqr(cy-y));
if d<r then Result := bsSolid else Result := bsClear;
end;
procedure TForm1.ShapeMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var s:TBrushStyle;
begin
Shape1.Brush.Style:=Svet(s);
Shape1.Brush.Color:= clRed;
Shape2.Brush.Style:=Svet(s);
Shape2.Brush.Color:= clYellow;
Shape3.Brush.Style:=Svet(s);
Shape3.Brush.Color:= clLime;
end;
← →
novi (2004-03-14 17:06) [1]Что, никто не знает?
← →
YurikGl © (2004-03-14 17:25) [2]Когда ты выставляешь Shape1.Brush.Color:= clRed;
Style автоматически становится solid. Проверено на Object Inspector.
Попробуй в Object Inspector выстави сначала clear, а потом смени цвет - увидишь реакцию.
Страницы: 1 вся ветка
Текущий архив: 2004.04.04;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.029 c