VB6でヘルプファイル "Lune.hlp"プログラムを作成し、Form上のhelpボタンにPrivate Sub miContents_Click()On Error GoTo ErrorhandlerWinHelp 0, "Lune.hlp", HELP_FINDER, 0Errorhandler:Exit SubEnd Subとタイプして実行していました。VB2005に移行して、どのように書き込めば良いのでしょうか?教えてくださいませ。
> VB6でヘルプファイル "Lune.hlp"プログラムを作成し、Form上のhelpボタンにHTML Help に切り替えてください。WinHelp は推奨されていませんので。(Vista 以降の OS には、WinHelp 機能が含まれていませんし)ヘルプそのものを呼び出すなら、System.Windows.Forms.Help クラスです。 Help.ShowHelp(Me, path) Help.ShowHelpIndex(Me, path)コントロールに関連付ける場合は、フォームに HelpProvider コンポーネントを貼れば OK。
魔界の仮面弁士さん コメントありがとうございます。> HTML Help に切り替えてください。WinHelp は推奨されていませんので。> (Vista 以降の OS には、WinHelp 機能が含まれていませんし)htmlに変更してみます。 > コントロールに関連付ける場合は、フォームに HelpProvider コンポーネントを貼れば OK。HelpProviderのコントロールを使って、従来のWIN32のヘルプファイル”LUNE.HLP"を強引に貼り付けHelpProviderのshowhelpをTrueにしました。結果、textboxやbuttonからF1キーを押して自動的にヘルプが出るようになりました。感謝さて、buttonをクリックすれば、F1キーを手で押さなくても良いコードはどのように書けばいいのでしょうか?
> さて、buttonをクリックすれば、F1キーを手で押さなくても良いコードはどのように書けばいいのでしょうか?あれ? 既に回答していますよね。具体的なコード付きで。
魔界の仮面弁士さんご返事ありがとうございます。> あれ? 既に回答していますよね。具体的なコード付きで。私の力不足で、お教えいただいたコードでNB2005にSystem.Windows.Forms.Help クラスを作成できませんでした。HelpProviderを貼り付けて、F1を押しVB6でのhelpファイルを表示できるようになり、所期の目的を達したことに感謝いたします。この件はこれにて終わりにし、他のコードをVB2005に移行する作業に移ります。即時に対応していただき大変ありがとうございました。
> NB2005にNB2005?> System.Windows.Forms.Help クラスを> 作成できませんでした。はい、そういう仕様です。MSDN にも、『Help クラスの新しいインスタンスは作成できません。』と書かれていますよね。作成する必要は無いのです。No.8119 に書いた記述そのまま、 'Const path As String = "C:\Stirling.hlp" Const path As String = "C:\WINDOWS\Help\calc.chm" Private Sub Button1_Click(〜〜〜〜) Handles Button1.Click Help.ShowHelp(Me, path) End Subというコードで表示できるはずです。MSDN の解説にあるサンプルも同様のコードですね。http://msdn.microsoft.com/ja-jp/library/81ee1k5y.aspxあるいは、ヘルプファイルの関連付け起動という事で、 Process.Start(path)のように書く事もできるかと。
魔界の仮面弁士さん再度、ご返事を頂きありがとうございます。> Const path As String = "C:\WINDOWS\Help\calc.chm"> Private Sub Button1_Click(〜〜〜〜) Handles Button1.Click> Help.ShowHelp(Me, path)> End Sub > あるいは、ヘルプファイルの関連付け起動という事で、> Process.Start(path)> のように書く事もできるかと。詳細にお教えいただいた結果、ButtonコントロールにHelp.ShowHelp(Me, path)またはProcess.Start(path)を記入して両方とも電卓のhelpがButtonクリックで一発でヘルプファイルが見えることを確認しました。感激です。魔界の仮面弁士さん これでVB6のコードからVB2005への移行完全です。ありがとうございました。chime