I have one way to implement the F1= more help when using TAdvGlowButton.OfficeHint.ShowHelp =True.
I am not confident it is without problems and invite comments on this code shell.
There will be a TAdvOfficeHint on mainForm.
Each TAdvGlowButton with .OfficeHint=True will have .Notes = 'some text'.
mainForm.KeyPreview = true;
In mainForm declare:
AdvHintInfoNotes : TStrings;
AdvOfficeHint_HelpID : integer;
In mainForm.AdvOfficeHintBeforeShowHint(AControl; AHintInfo; var UseOfficeHint : Boolean);
begin
if not (AControl as TAdvGlowButton.OfficeHint.ShowHelp then exit;
// only act where more help has been offered
AdvHintInfoNotes := AHintInfo.Notes;
// this is Free'd when the Hint window is destroyed; I need to know when the officeHint is not showing
AdvOfficeHint_HelpID := AControl.HelpContext;
// the ID to use to jump to
AdvToolBarPager.SetFocus;
// give focus back to the AdvToolbarPager or else it will not participate in mainForm.KeyPreview
// Why is this?
end;
In mainForm.FormKeyDown(Sender; Key)
begin
if (Key=VK_F1) and assigned(AdvHintInfoNotes) then
// I need to know the Notes var is not nil; that is, the Hint is still showing
begin
forms.application.help(AdvOfficeHint_HelpID);
end;
end;