Форум: "Основная";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
ВнизOnMouseMove := ShapeMouseOver; Найти похожие ветки
← →
Боян Георгиев (2005-01-28 19:31) [0]Здравствуйте!
Создаю инстанцию класса TShape и задаю процедура ShapeMouseOver для свойства OnMouseMove. Но процедура не изполняется при движение мыши. Почему?
Вот код:
result := TShape.Create(self);
with result do
begin
Shape := stCircle;
Width := 10;
Height := 10;
Left := _x - 5 - self.HorzScrollBar.Position;
Top := _y - 5 - self.VertScrollBar.Position;
Visible := false;
Tag := index;
Brush.Color := 8568823;
Parent := self;
OnMouseMove := PointMouseMove;
end;
Вот процедура PointMouseMove:
procedure TForm1.PointMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
TShape(Sender).Visible := true;
end;
← →
default © (2005-01-28 20:05) [1]потому что при Visible = False не происходит вызова обработчика события OnMouseMove
чтобы Ваш шейп не был виден на контроле на котором он отрисовывается, но срабатывало указанное событие используйте код
Brush.Color := Self.Brush.Color;
Pen.Color := Self.Brush.Color;
для шейпа, а в обработчике события для показа шейпа присваивайте сооветствующие цвета свойствам Pen и Brush
← →
default © (2005-01-28 20:06) [2]Pen.Color := Self.Pen.Color;
← →
Боян Георгиев (2005-01-28 20:08) [3]спасибо:)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c