Delphi应用程序与Chm帮助关联的简单实现(源代码)

2008-04-10 02:57:06来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

Delphi应用程序与Chm帮助关联的简单实现(源代码)

请参考:Delphi程序与Chm帮助关联的简单实现
http://www.csdn.net/Develop/Article/18/18116.shtm

unit Unit1;
/// 作者:李新 kelvinsdu@sina.com QQ:1348513
interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls;
const
conHelpTitle=''''科研项目管理系统 2.0'''';
HH_DISPLAY_TOPIC=0;//先查msdn,有好多command,自己改成0,1之类的
type
TForm1 = class(TForm)
EdtProjectManager: TEdit; // helpcontext =10101
Button1: TButton;
Label1: TLabel;
EdtFinanceInput: TEdit; // helpcontext =10102
function FormHelp(Command: Word; Data: Integer;
var CallHelp: Boolean): Boolean;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure ShowChmHelp(sTopic:string);
var
Form1: TForm1;
function HtmlHelpA (hwndcaller:Longint; lpHelpFile:string; wCommand:Longint;dwData:string): HWND;stdcall; external ''''hhctrl.ocx''''

implementation
uses Unit2;
{$R *.DFM}
Function CurrentExeFilepath:String; //返回当前的路径
var cdir:string;
Begin
Result:='''''''';
SetLength(CDir,144);
If GetCurrentDirectory(144,PChar(CDir))<>0 Then
SetLength(CDir,StrLen(PChar(CDir)))
Else
RaiseLastWin32Error;
Result:=CDir;
End;
procedure ShowChmHelp(sTopic:string);
var i:integer;
begin
i:=HtmlHelpA(Application.Handle,Pchar(CurrentExeFilepath ''''\help.chm''''),HH_DISPLAY_TOPIC,sTopic);
if i=0 then
begin
Showmessage('''' help.chm 帮助文件损坏!'''');
exit;
end;
end;

function TForm1.FormHelp(Command: Word; Data: Integer;
var CallHelp: Boolean): Boolean;
begin
case Data of
10100: ShowChmHelp(''''SystermIntroduction.htm'''');
10101: ShowChmHelp(''''ProjectManager.htm'''');
10102: ShowChmHelp(''''FinanceInput.htm'''');
else ShowChmHelp(''''SystermIntroduction.htm'''');
end;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
OKBottomDlg:=TOKBottomDlg.create(nil);
try
OKBottomDlg.ShowModal;
finally
OKBottomDlg.free;
end;
end;

end.

/////////////////////////

unit Unit2;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls;

type
TOKBottomDlg = class(TForm)
OKBtn: TButton;
CancelBtn: TButton;
cbQuickQuery: TComboBox; // helpcontext =10200
EdtSuperQuery: TEdit; // helpcontext =10201
function FormHelp(Command: Word; Data: Integer;
var CallHelp: Boolean): Boolean;
private
{ Private declarations }
public
{ Public declarations }
end;

var
OKBottomDlg: TOKBottomDlg;

implementation
uses unit1;
{$R *.DFM}

function TOKBottomDlg.FormHelp(Command: Word; Data: Integer;
var CallHelp: Boolean): Boolean;
begin
case Data of
10200: ShowChmHelp(''''QuickQuery.htm'''');
10201: ShowChmHelp(''''SuperQuery.htm'''');
else ShowChmHelp(''''SystermIntroduction.htm'''');
end;
end;

en

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:有关软件复用问题(盖上一次的文章)

下一篇:从获取DBGrid行号想到的