Как сделать, чтобы орган управления, например, сложная линия, хваталась только за некий контур, и пропускала мышь под себя в других местах
Автор: Nomadic
Надо обpабатывать сообщение CM_HITTEST (Это сообщение получают даже потомки
от TGraphicsControl, не имеющего своего HWND).
Hапpимеp, так:
procedure TLine.CMHitTest(var Message: TWMNCHitTest);
begin
if PointInLineReg(Message.XPos, Message.YPos) then
begin
Message.Result := 1;
end
else
begin
Message.Result := 0;
end;
end;
|
Для органов управления Windows, если Вы не используете VCL, требуется
обрабатывать сообщение WM_NCHITTEST.
|