Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.18;
Скачать: 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 вся ветка

Текущий архив: 2002.07.18;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.012 c
6-58242
sany
2002-03-04 19:04
2002.07.18
Как сделать чтобы с сервера посылался автоматически ip клиенту.


1-58105
Cowboy
2002-07-08 17:56
2002.07.18
Динамически создать TTabSheet с TImage на нем.


1-58056
werr
2002-07-05 17:04
2002.07.18
Как узнать каким юзером занят файл?


14-58282
AngeL B.
2002-06-21 09:55
2002.07.18
клиарты для программиста


3-58012
bobr12
2002-06-27 15:12
2002.07.18
InterBase - Как получить доступ к БД на сервере в сети