tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルVB2005でのヘルプファイル実行
記事No8116
投稿日: 2008/09/09(Tue) 17:19
投稿者chime
VB6でヘルプファイル "Lune.hlp"プログラムを作成し、Form上のhelpボタンに

Private Sub miContents_Click()
On Error GoTo Errorhandler
WinHelp 0, "Lune.hlp", HELP_FINDER, 0
Errorhandler:
Exit Sub
End Sub

とタイプして実行していました。

VB2005に移行して、どのように書き込めば良いのでしょうか?
教えてくださいませ。

[ツリー表示へ]
タイトルRe: VB2005でのヘルプファイル実行
記事No8119
投稿日: 2008/09/09(Tue) 19:21
投稿者魔界の仮面弁士
> 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。

[ツリー表示へ]
タイトルRe^2: VB2005でのヘルプファイル実行
記事No8120
投稿日: 2008/09/10(Wed) 09:33
投稿者chime
魔界の仮面弁士さん

コメントありがとうございます。

> HTML Help に切り替えてください。WinHelp は推奨されていませんので。
> (Vista 以降の OS には、WinHelp 機能が含まれていませんし)

htmlに変更してみます。

> コントロールに関連付ける場合は、フォームに HelpProvider コンポーネントを貼れば OK。

HelpProviderのコントロールを使って、従来のWIN32のヘルプファイル”LUNE.HLP"を強引に貼り付けHelpProviderのshowhelpをTrueにしました。
結果、textboxやbuttonからF1キーを押して自動的にヘルプが出るようになりました。

感謝

さて、buttonをクリックすれば、F1キーを手で押さなくても良いコードはどのように書けばいいのでしょうか?

[ツリー表示へ]
タイトルRe^3: VB2005でのヘルプファイル実行
記事No8121
投稿日: 2008/09/10(Wed) 10:40
投稿者魔界の仮面弁士
> さて、buttonをクリックすれば、F1キーを手で押さなくても良いコードはどのように書けばいいのでしょうか?

あれ? 既に回答していますよね。具体的なコード付きで。

[ツリー表示へ]
タイトルRe^4: VB2005でのヘルプファイル実行
記事No8126
投稿日: 2008/09/10(Wed) 17:59
投稿者chime
魔界の仮面弁士さん

ご返事ありがとうございます。

> あれ? 既に回答していますよね。具体的なコード付きで。

私の力不足で、お教えいただいたコードでNB2005にSystem.Windows.Forms.Help クラスを
作成できませんでした。

HelpProviderを貼り付けて、F1を押しVB6でのhelpファイルを表示できるように
なり、所期の目的を達したことに感謝いたします。

この件はこれにて終わりにし、他のコードをVB2005に移行する作業に
移ります。

即時に対応していただき大変ありがとうございました。

[ツリー表示へ]
タイトルRe^5: VB2005でのヘルプファイル実行
記事No8127
投稿日: 2008/09/10(Wed) 20:15
投稿者魔界の仮面弁士
> 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)
のように書く事もできるかと。

[ツリー表示へ]
タイトルRe^6: OKです = VB2005でのヘルプファイル実行
記事No8133
投稿日: 2008/09/11(Thu) 19:43
投稿者chime
魔界の仮面弁士さん

再度、ご返事を頂きありがとうございます。

>   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

[ツリー表示へ]