Задача такая: создать компонент на основе TCustomControl и прописать в нем рисование квадрата, если двигающаяся мышка попадает в определенные координаты. У меня никак не получается собственно вычислить координаты мыши в компоненте. Переопределение стандартного события OnMouseMove, списанное из help'a, не работает вовсе. Через карту сообщений тоже не получается, метод не отрабатывается.
Код с картой сообщений:
читать дальше class PACKAGE TC : public TCustomControl
{
...
void __fastcall WmRButtonDown(TWMRButtonDown& Msg);
virtual void __fastcall RMouseDown(TObject* Sender);
bool fMouseDown;
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_RBUTTONDOWN,TWMRButtonDown,WmRButtonDown)
END_MESSAGE_MAP(TCustomControl)
...}
void __fastcall TC::WmRButtonDown(TWMRButtonDown& Msg)
{
fMouseDown=true;
RMouseDown(this);
}
void __fastcall TC::RMouseDown(TObject* Sender)
{
Canvas->Rectangle(0,0,100,100);
}
Код с переопределением:
читать дальше
class PACKAGE TC : public TCustomControl
{...
__published:
__property OnMouseMove;
...
}
void _fastcall TC::MouseMove()
{
TWinControl::MouseMove() ;
if ( (X<100) &&(Y<100) )
Canvas->Rectangle(0,0,100,100);
}
[UPD] вопрос снят