title: Intercepting hint event on delphi
body: <p>I am trying to change hint text temporarily at a run-time inside of a component,
  without changing the <code>Hint</code> property itself.</p>
  
  <p>I've tried catching <code>CM_SHOWHINT</code>, but this event seems to only come to
  form, but not the component itself.</p>
  
  <p>Inserting CustomHint doesnt really work either, because it takes the text
  from the <code>Hint</code> property.</p>
  
  <p>my component is descendant from <code>TCustomPanel</code></p>
  
  <p>Here's what i'm trying to do:</p>
  
  <pre><code>procedure TImageBtn.WndProc(var Message: TMessage);
  begin
    if (Message.Msg = CM_HINTSHOW) then
      PHintInfo(Message.LParam)^.HintStr := 'CustomHint';
  end;
  </code></pre>
  
  <p>I've found this code somewhere in the internet, unfortunately it doesn't work tho.</p>