These events not working on Lazarus/FPC for TImage32.
Fix: There is message handling section In class TCustomPaintBox32 in file GR32_Image:
{$IFDEF FPC}
procedure WMEraseBkgnd(var Message: TLMEraseBkgnd); message LM_ERASEBKGND;
procedure WMGetDlgCode(var Msg: TLMessage); message LM_GETDLGCODE;
procedure WMPaint(var Message: TLMPaint); message LM_PAINT;
procedure CMMouseEnter(var Message: TLMessage); message LM_MOUSEENTER;
procedure CMMouseLeave(var Message: TLMessage); message LM_MOUSELEAVE;
procedure CMInvalidate(var Message: TLMessage); message CM_INVALIDATE;
{$ELSE}
...
Where lines
procedure CMMouseEnter(var Message: TLMessage); message LM_MOUSEENTER;
procedure CMMouseLeave(var Message: TLMessage); message LM_MOUSELEAVE;
have to be change to
procedure CMMouseEnter(var Message: TLMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TLMessage); message CM_MOUSELEAVE;
There has been a change to make MouseEnter and MouseLeave to work, which uses overriding in case of FPC. Can you please check if the issue is still present and/or if your solution can still be applied if not?