HTMLヘルプを表示するには?

解決


十五夜  2005-09-23 02:33:25  No: 17661

MessageDlg で
ヘルプボタンを押したときに
HTMLヘルプが表示されるようにする方法を
教えてください。


deldel  2005-09-23 20:49:19  No: 17662

ShellEXecute(Handle, nil, 'help.chm', nil, nil, SW_SHOW);
などではだめですか?


deldel  2005-09-23 20:50:18  No: 17663

あ、すみません、勘違いでした^^;
上記は忘れてくださいm(_`_)m


こんな感じかな  2005-09-25 00:46:38  No: 17664

ここを参考に
http://www.asahi-net.or.jp/~HA3T-NKMR/tips011.htm

uses
  ShellAPI;

procedure TForm1.Button1Click(Sender: TObject);
var
  dlg: TForm;
  res: Word;
  HBtn: TButton;
begin
  dlg := CreateMessageDialog('Test', mtInformation,
                             [mbYes, mbNo, mbHelp]);
  HBtn := TButton(dlg.FindComponent('Help'));
  HBtn.OnClick := ShowHtmlHelp;
  res := dlg.ShowModal;
  dlg.Free;
end;

procedure TForm1.ShowHtmlHelp(Sender: TObject);
begin
  ShellEXecute (Handle, nil, 'help.chm', nil, nil, SW_SHOW);
end;


十五夜  2005-09-27 21:14:14  No: 17665

こんな感じかなさん、
どうもありがとうございます!

遅くなってすみません。

あれから、いろいろ試行錯誤したのですが、

ヘルプボタンを押したときに処理できるようになりました。
ただ、ヘルプボタンを押して、メッセージダイアログを
消すといった処理もほしいのですが、
どうすればよいのでしょうか?

現状だと、ヘルプキーを押しても
ダイアログは表示されたままになります。
どうすればよいのでしょう?


deldel  2005-09-28 02:22:16  No: 17666

簡単なところで・・・こうかな?
「'情報'」が危険ですが^^;

procedure TForm1.ShowHtmlHelp(Sender: TObject);
var
  H: THandle;
begin
  ShellExecute(Handle, nil, 'D:\★ダウンロード\RSS Writer\help.chm', nil, nil, SW_SHOW);

  H := FindWindow(nil, PChar('情報'));
  if H <> 0 then SendMessage(H, WM_CLOSE, 0, 0);
end;


じゃあ  2005-09-28 04:34:21  No: 17667

TForm(TButton(Sender).Owner).Close;


十五夜  2005-09-28 17:23:20  No: 17668

みなさん、どうもありがとうございました。
後、これについて、付加した質問がありますが
別スレッドにしたいとおもいます。
そちらのほうも教えてください。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加