Want to do something other than just displaying a hint when it's time to display a hint? Simply assign your own custom procedure to "Application.OnHint" property and your procedure will get called every time a hint pops-up. For example:
.
.
.

procedure Form1.MyShowHint(Sender: TObject);
beginAdvertisement

{ do your thing here... }
end;

.
.
.

procedure Form1.FormCreate(Sender: TObject);
begin
Application.OnHint := MyShowHint;
end;

.
.
.