![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
процедура реагирующая на положение указателя мыши [D6, WinME]
novi © (2004-03-13 22:30:00)Уважаемые мастера! Помогите пожалуйста.
Условие задачи следующее: на форме расположено три круга разного цвета. Сначала они прозрачные, но по наведению мыши в круг они должны заливаться своим цветом, после увода мыши должны стать опять прозрачными.
Написал функцию определения мыши, а процедуру закраски ...
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(x-cx)+sqr(y-cy));
if d<r then s:= bsSolid else s:= bsClear;
end;
Думкин (2004-03-14 15:56:00) [1]Телепатироване подсказывает какие события при находеи исходе?
Так есть такие в дельфях - onMouseLeave, onMouseEnter - только осталось их работать заставить.
default (2004-03-14 01:38:00) [2]можешь кстати TShape использовать, тогда вообще ничего считать не нужно...
Mihey (2004-03-14 00:41:00) [3]Есть:
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(x-cx)+sqr(y-cy));
if d<r then s:= bsSolid else s:= bsClear;
end;
Надо:
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(x-cx)+sqr(y-cy));
if d<r then Result := bsSolid else Result := bsClear;
end;
novi (2004-03-13 23:01:00) [4]Не получается закрасить.
Mihey (2004-03-13 22:53:00) [5]И какой вопрос то???