首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网络编程-> Shell教程
如何让程序出现windows标准对话框_delphi教程
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
 

--------------------------------------------------------------------------
如何让程序出现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.  


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·jsp设置页面过期-JSP教程,Jsp/Servlet
·用SqlDataAdapter更新数据库的方法介绍-.NET教程,数据库应用
·用java关闭IE窗口-JSP教程,Java技巧及代码
·ADO.NET 2.0 Feature Matrix-ASP教程,ASP应用
·Jsp & Servlet 会话控制-JSP教程,Jsp/Servlet
·xmlhttp 乱码 的解决方法 (UTF8,GB2312 编码 解码)-ASP教程,XML相关
·使用C#编写Ice应用程序-.NET教程,C#语言
·用PHP实现WEB动态网页静态-PHP教程,PHP应用
·DataGrid基于Access的快速分页法-.NET教程,数据库应用
·HTML文档中小meta的大作用-ASP教程,XML相关
最新文章
·photoshop打造数码照片“像素块”特效_photoshop教程
·css中如何正确的使用id和class_css教程
·保证让新手轻松月挣500以上_网赚技巧
·记住10个关键词让你作一名成功的站长_站长心得
·对新人站长得一些善意得提醒_站长心得
·在windows vista中安装telnet客户端_windows vista
·怎样提高你的google adsense收入_站长心得
·googleadsense新手指南及常见问题整理_google推广
·高网站访问量的必胜之道:访google adwords经理(上)_google推广
·成功经验谈:运营blog的21个具体方法_网络编辑
相关主题
  • 如何让程序被站长接受和产生利润_站长访谈
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭