title: How to adjust hint properties of a control at runtime?
body: <p>I have this code with which I can set the font size of the control hint, but I want to be able somehow to adjust it later at runtime. How can I do that ?</p>
  
  <pre><code>unit Unit1;
  
  interface
  
  uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;
  
  type
    TMyHintWindow = class(THintWindow)
      constructor Create(AOwner: TComponent); override;
    end;
  
    TMyButton = class(TButton)
    protected
      procedure CMHintShow(var Message: TCMHintShow); message CM_HINTSHOW;
    end;
  
    TForm1 = class(TForm)
      procedure FormCreate(Sender: TObject);
    private
      MyButton: TMyButton;
    end;
  
  var
    Form1: TForm1;
  
  implementation
  
  {$R *.dfm}
  
  procedure TForm1.FormCreate(Sender: TObject);
  begin
   MyButton:=TMyButton.Create(Form1);
   MyButton.Parent:=Form1;
   MyButton.Caption:='Test';
   MyButton.Left:=100;
   MyButton.Top:=100;
   MyButton.ShowHint:=true;
  end;
  
  procedure TMyButton.CMHintShow(var Message: TCMHintShow);
  begin
   inherited;
   Message.HintInfo.HintWindowClass:=TMyHintWindow;
   Message.HintInfo.HintStr:='My custom hint';
  end;
  
  constructor TMyHintWindow.Create(AOwner: TComponent);
  begin
   inherited;
   Canvas.Font.Size:=25;
  end;
  
  end.
  </code></pre>