MessageDlg で
ヘルプボタンを押したときに
HTMLヘルプが表示されるようにする方法を
教えてください。
ShellEXecute(Handle, nil, 'help.chm', nil, nil, SW_SHOW);
などではだめですか?
あ、すみません、勘違いでした^^;
上記は忘れてくださいm(_`_)m
ここを参考に
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;
こんな感じかなさん、
どうもありがとうございます!
遅くなってすみません。
あれから、いろいろ試行錯誤したのですが、
ヘルプボタンを押したときに処理できるようになりました。
ただ、ヘルプボタンを押して、メッセージダイアログを
消すといった処理もほしいのですが、
どうすればよいのでしょうか?
現状だと、ヘルプキーを押しても
ダイアログは表示されたままになります。
どうすればよいのでしょう?
簡単なところで・・・こうかな?
「'情報'」が危険ですが^^;
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;
TForm(TButton(Sender).Owner).Close;
みなさん、どうもありがとうございました。
後、これについて、付加した質問がありますが
別スレッドにしたいとおもいます。
そちらのほうも教えてください。
ツイート | ![]() |