Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
14-1106366180
able
2005-01-22 06:56
2005.02.13
Выбор FTP-сервера под Win32


14-1106335897
olookin
2005-01-21 22:31
2005.02.13
Являетсли ли склонность к попсе признаком деградации?


8-1098431365
slim
2004-10-22 11:49
2005.02.13
видео буфер


14-1104137933
Чеширский_Кот
2004-12-27 11:58
2005.02.13
Кто хочет сыграть против меня в шахматы?


4-1103986628
uw
2004-12-25 17:57
2005.02.13
Настройка COM-порта




   Наверх