Mattias Gaertner wrotePlease describe where the event should be added, what the parameters
and result do, what the default implementation does, for those people
not having Kylix.
Marco explained it. The event should replace the TApplication.OnHelp and TCustomForm.OnHelp implementations.
Here is the details as described by the Kylix documentation.
============================================================ THelpEvent defines event handlers for user help requests.
Unit
----
QForms
Delphi syntax:
--------------
type
THelpEvent = function (HelpType: THelpType; HelpContext: Integer;
HelpKeyword: string; HelpFile: string; var Handled: Boolean): Boolean of
object;
Description
-----------
The help request event handler has the following parameters.
HelpType indicates whether the help topic is identified by context ID or by keyword.
HelpContext identifies the help topic to display when HelpType is htContext.
HelpKeyword identifies the help topic to display when HelpType is htKeyword.
HelpFile identifies the help file that contains the specified topic.
Handled returns an indication of whether the default help system should display the specified topic after the event handler exits. Set Handled to true if the event handler displays a help topic, and this prevents the application from proceeding to display the identified topic.The event handler should return true if it succeeds, false if it fails. ============================================================
The OnHelp event handler is defined for the TApplication and TCustomForm classes.
Here is the OnHelp event (TApplication) documentation
============================================================ Occurs when the application receives a request for help.
Delphi syntax:
property OnHelp: THelpEvent;
Description
Write an OnHelp event handler to perform special processing when the user requests help. This event occurs when the help system is invoked by a call to InvokeHelp, ContextHelp, or KeywordHelp.The event handler returns true if it succeeds, false if it fails.
============================================================
Here is a very simplistic example as shown by the Kylix help.
============================================================ The following code changes the Help file depending on the active form, before the help viewer is called. AppHelp is assigned to the OnHelp event handler of Application in the OnCreate event of Form1.
function TForm1.AppHelp(Command: Word; Data: Longint; var CallHelp:
Boolean): Boolean;
begin
Application.HelpFile := Screen.ActiveForm.Name + '.hlp';
CallHelp := True;
end;
function TForm1.FormCreate(Sender: TObject);
begin
Application.OnHelp := AppHelp;
end;
============================================================
As Marco mentioned, the THelpEvent, as currently defined, is right out of the Win32 documentation on how to communicate with the MS Windows .HLP help viewer.
I hope this answers your question.
Regards,
- Graeme -