摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Deiphi>Deiphi系统文件
◎→ 本类最新
在DELPHI中映射网络驱动器
在Delphi中实现对目录拷贝、删除
在Delphi中接受文件拖放
在Delphi中定位文件位置
用代码打开屏幕保护
用Delphi编程得到OS的类型
用Delphi编码实现程序自启动
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
美化你的菜单
判断MS SQL Server是否启动
判断文件是否正在使用
浅析桌面精灵的实现
嵌入汇编检测CPU的型号
取当前所有的拨号连接的程式
取得某一dll所有输出函数名

让程序出现windows标准对话框式样的帮助


日期:2008-10-20 21:47:06    来源:互联网
   
 ·倪光南力挺中国文档标准 ·在DELPHI中如何调用系统对话框

让程序出现windows标准对话框式样的帮助


unit Unit1;
interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

const
  HH_DISPLAY_TOC   = $0001;
  HH_DISPLAY_TOPIC = $0000;
  HH_CLOSE_ALL     = $0012;
  HH_DISPLAY_INDEX = $0002;
  HH_HELP_CONTEXT  = $000F;
  HH_DISPLAY_SEARCH= $0003;
  HH_DISPLAY_TEXT_POPUP = $000E;

type
  HH_FTS_Query = record
    cbStruct : integer; // sizeof structure
    fUniCodeStrings : bool; // true if all strings are unicode
    pszSearchQuery : PChar; // string with the search query
    iProximity : longint; // word proximity
    fStemmedSearch : bool; // true for stemmed search only
    fTitleOnly : bool; // true for title search only
    fExecute : bool; // true to initiate the search
    pszWindow : PChar; // window to display in
  end; // HH_FTS_Query

  HH_POPUP = record
    cbStruct: integer;       // sizeof this structure
    hinst: longint;          // instance handle for string resource
    idString: UINT;          // string resource id, or text id if pszFile is specified in HtmlHelp call
    pszText: LPCTSTR;        // used if idString is zero
    pt: TPOINT;              // top center of popup window
    clrForeground: COLORREF; // use -1 for default
    clrBackground: COLORREF; // use -1 for default
    rcMargins: TRECT;        // amount of space between edges of window and text, -1 for each member to ignore
    pszFont: LPCTSTR;        // facename, point size, char set, BOLD ITALIC UNDERLINE
   end;


type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;

    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  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));
  end;

end. 

 [1]

平面设计师的择偶标准

用Delphi实现自定义颜色对话框及其构件

--->MyIE2(网际畅游) v1.1.050 标准版
--->海峰五笔 86+98标准通用版 V9.0
--->五笔加加Plus V2.6 标准版
--->中天在线江民KV2007天天升 V2.361┊升级KV2007标准/下载┊简体中文绿色免费版
--->瑞星防火墙 2007 19.29.00┊保护网络安全和免受黑客攻击┊简体中文标准特别版
Tags:  标准 对话框
{$enumber$}
芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们