end;
var
Form1: TForm1;
implementation
{$R *.DFM}
function HtmlHelp(hwndCaller: HWND; pszFile: PChar; uCommand: UINT;
dwData: PDWORD): HWND; stdcall; external ''hhctrl.ocx'' Name ''HtmlHelpA'';
procedure TForm1.Button1Click(Sender: TObject);
begin
{
调用缺省主题帮助
此调用方式用于没有上下文ID号的情形,dwData可指定一个在CHM文件内的缺省htm文件,
也可取Nil,这是HtmlHelp API最基本的一种用法。
}
HtmlHelp(handle,pchar(''help.chm''),HH_DISPLAY_TOPIC,PDWORD(pchar(''article.htm'')));
//或:HtmlHelp(handle,pchar(''help.chm''),HH_DISPLAY_TOPIC,nil);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
{
调用关键字帮助
此调用方式中dwData取索引文件(.hhk)中存在的关键字。
}
HtmlHelp(handle,pchar(''help.chm''),HH_DISPLAY_INDEX,PDWORD(pchar(''ambaSio'')));
end;
procedure TForm1.Button3Click(Sender: TObject);
var
dw: DWORD;
begin
{
调用上下文敏感帮助
此调用方式用于含有映射信息的CHM文件, dwData取映射表中存在的ID号。
}
dw := 10;
HtmlHelp(handle,pchar(''>help.chm''),HH_HELP_CONTEXT,PDWORD(@dw));
//这种方式我没试出来,可能是我的chm文件不含映射信息的缘故。
end;
procedure TForm1.Button4Click(Sender: TObject);
var
query: HH_FTS_Query;
begin
{
调用全文
搜索帮助
}
with query do
begin
cbStruct := sizeof(HH_FTS_Query);
fUniCodeStrings := false;
iProximity := 1;
fStemmedSearch := true;
fExecute := true;
fTitleOnly := false;
pszWindow := ''MainWin'';
pszSearchQuery := nil;
end;
HtmlHelp(handle,pchar(''help.chm''),HH_DISPLAY_SEARCH,PDWORD(@query));
end;
procedure TForm1.Button5Click(Sender: TObject);
var
popup: HH_POPUP;
begin
{
调用弹出式帮助
PszFile通常取NULL,也可以指定一个CHM和一个在该CHM文件中的TEXT文件,DwData用
于指定一个指向HH_POPUP结构的指针。
}
with popup do
begin
cbStruct := sizeof(HH_POPUP);
hinst:= 0;
idString:=1;
pszText:=nil;
//pt:= pt;
GetCursorPos(pt);
clrForeground:=COLORREF(-1);
clrBackground:=COLORREF(-1);
rcMargins.Left := 0;
rcMargins.Top := 0;
rcMargins.Right := 25;
rcMargins.Bottom := 25;
pszFont:=LPCTSTR(''BOLD'');
end;
HtmlHelp(handle,pchar(''test.chm''),HH_DISPLAY_TEXT_POPUP,PDWORD(@popup));
&