You can subclass the Memo property WindowProcat runtime to catch all messages sent to Memo, for example:
private:
TWndMethod PrevMemoWndProc;
void __fastcall MemoWndProc(TMessage &Message);
__fastcall TMyForm::TMyForm(TComponent *Owner)
: TForm(Owner)
{
PrevMemoWndProc = Memo1->WindowProc;
Memo1->WindowProc = MemoWndProc;
}
void __fastcall TMyForm::MemoWndProc(TMessage &Message)
{
switch (Message.Msg)
{
case CN_COMMAND:
{
switch (reinterpret_cast<TWMCommand&>(Message).NotifyCode)
{
case EN_VSCROLL:
{
break;
}
case EN_HSCROLL:
{
break;
}
}
break;
}
case WM_HSCROLL:
{
break;
}
case WM_VSCROLL:
{
break;
}
}
PrevMemoWndProc(Message);
}
source
share