lazarus/components/chmhelp/democontrol/ctxchmhelpunit1.pas
2012-07-22 12:43:44 +00:00

88 lines
1.9 KiB
ObjectPascal

{
Abstract:
This example demonstrates the chm help components.
TCHMLHelpDatabase handles help for a single chm file - it contains the
mapping from Keyword to page.
TLHelpConnector starts "lhelp" a chm viewer written in pure pascal.
How was the example created:
Put a TCHMHelpDatabase on a form.
Set AutoRegister to true.
Set KeywordPrefix to 'example'
Set Filename to the path of the chm file '../../../tools/chmaker/example.chm'
You can create the example.chm with chmmaker (see the REDAME.txt
in the chmmaker directory).
Put a TLHelpConnector on the form.
Set AutoRegister to true.
Set LHelpPath to '../lhelp/lhelp'.
Put a TEdit on a form.
Set HelpType to htKeyword
Set HelpKeyword to 'example/MainPage.html'
Run the program.
Focus the edit field and press F1. lhelp will be started. lhelp will load
example.chm and shows the page MainPage.html.
}
unit CtxCHMHelpUnit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
HelpIntfs, LazHelpIntf, LazHelpCHM;
const
{$IFDEF Darwin}
HelpShortcut = #$e2#$8c#$98'?';
{$ELSE}
HelpShortcut = 'F1';
{$ENDIF}
type
{ TForm1 }
TForm1 = class(TForm)
CHMHelpDatabase1: TCHMHelpDatabase;
Edit1: TEdit;
Edit2: TEdit;
LHelpConnector1: TLHelpConnector;
ShowHelpButton: TButton;
procedure FormCreate(Sender: TObject);
procedure ShowHelpButtonClick(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
CreateLCLHelpSystem;
Edit1.Text:='Edit1 - Press '+HelpShortcut+' for help';
Edit2.Text:='Edit2 - Press '+HelpShortcut+' for help';
end;
procedure TForm1.ShowHelpButtonClick(Sender: TObject);
begin
// This demonstrates how to show a help item manually:
ShowHelpOrErrorForKeyword('','example/AboutLazarus.html');
end;
{$R *.lfm}
end.