message handling

Q:  If a component doesn't relay the message, do I have to write my own version that passes the messages that I need, or is there way to tap (from a TForm or else where) into the message loop, and grap what I need?

A:  To respond to, say, the wm_paint message, you would add --

 procedure WMPaint(var Message: TWMPaint); message WM_PAINT;

 to your component.  The you could have

 procedure TWhateverComponent.WMPaint(var Message: TWMPaint);
 begin
    {have your way with the component}
 end;
 

 This will work for any windows message.  Most components respond to the more popular messages already, and you can override their event handlers.