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

Можно ли назначать SetWindowRgn для TShape?   Найти похожие ветки 

← →
amochkin   (2002-07-09 07:05) [0]

Господа!
Собственно, сабж.
На TShape.Canvas назначить регион - без проблем. Однако, на мышовые события это никоим образом не влияет.
Может кто-то сталкивался с похожей задачей: прорисовать фигуру свободной формы (я это сделал на TShape) и добиться чтобы OnMouseEnter, OnMouseLeave, OnMouseDown отрабатывались только на этой фигуре (а не на контроле, на котором фигура нарисована).
Что касается OnMouseDown, проблема легко решилась переписыванием обработчика события с условием через PtInRegion.
Но OnMouseLeave и OnMouseEnter просто стали главной головной болью :)


← →
reonid ©   (2002-07-09 10:34) [1]

TShape - он же не WinControl, регион ему не назначишь.
Насколько я помню, это делается через обработку сообщения CM_HITTEST;

procedure TMyShape.CMHitTest(var Message: TCMHitTest);
begin
with Message do Result := Integer( PtInRegion(HRgn, XPos, YPos));
end;



Страницы: 1 вся ветка

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



Память: 0.45 MB
Время: 0.012 c
4-58362
Serd_hhc
2002-05-19 16:11
2002.07.18
Переопределение не работает...:(


1-58030
Belov
2002-07-03 16:47
2002.07.18
Excel


1-58205
Jesuit
2002-07-06 03:10
2002.07.18
Подскажите плиз как сравнить два разных времени ?


1-58224
UserName
2002-07-07 10:35
2002.07.18
программный скроллинг в TWebBrowser


8-58229
Alexandr_
2002-03-12 09:25
2002.07.18
Как повернуть оси на канвасе на определенный угол.....




   Наверх