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
[聊天工具]从编译到反编译:CHM文件应用不求人 [常用软件]ABC Amber CHM Converter:CHM转换PDF [Delphi程序]Delphi程序与Chm帮助关联的简单实现 [Delphi程序]耶書制造 CHMmaker(即CHM帮助编辑器)推出2.87中文… [Delphi程序]如何在Delphi应用程序中调用CHM文档 [Delphi程序]在Delphi中调用CHM帮助文件 [Web开发]W3C school HTML教程 CHM帮助 [电脑技术]ActionScript 2.0字典CHM版
|