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

解決


十五夜  2005-09-22 17:33:25  No: 17661  IP: 192.*.*.*

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

編集 削除
deldel  2005-09-23 11:49:19  No: 17662  IP: 192.*.*.*

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

編集 削除
deldel  2005-09-23 11:50:18  No: 17663  IP: 192.*.*.*

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

編集 削除
こんな感じかな  2005-09-24 15:46:38  No: 17664  IP: 192.*.*.*

ここを参考に
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 12:14:14  No: 17665  IP: 192.*.*.*

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

遅くなってすみません。

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

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

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

編集 削除
deldel  2005-09-27 17:22:16  No: 17666  IP: 192.*.*.*

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

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-27 19:34:21  No: 17667  IP: 192.*.*.*

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

編集 削除
十五夜  2005-09-28 08:23:20  No: 17668  IP: 192.*.*.*

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

編集 削除