Статьи

???????? help-????? (???????) ? ??????? CHM ??? Visual Basic (VB)-?????????? ??? ?????? Dr.Explain



????????

?????? ????????? ???????? ????? ??????? ? ????????? Dr.Explain ? ??? ?????????? ? ?????????? Visual Basic. ???????? ??????????????? ???????:

  • ???????? ? ????????? ??????? ? Dr.Explain;
  • ???????? ??????? ????????? ????? ???????;
  • ???????? ??????????????? ??????????? ????? ?????????? ?????????? Visual Basic;
  • ????????? ???????? Help ID;
  • ?????????? ???????;
  • ??????? ??????? ? ?HM ????;
  • ?????????? ????? ??????? ? ?????????? Visual Basic.


????????? Dr.Explain

????????? ???????????? ???? ?????????? Dr.Explain ? ???????????? ????? ?? ?????? http://www.drexplain.ru/ (?????? «??????? ?????????»). ????????? ???? ?? ?????????? ???????? ????????. ?????????? ??????????, ?????? ????????? ??????? (??????? 1).

?????????? ??????? ? ?????? ?????? ?????????. ???????????? ??????? – ??? ????????????? ??????? ?????? ??? ??????????? ? ???????????????? ?????? ?????????? ???????? ???????.

??????? 1. ?????? ????????? «Dr.Explain»



???????? ? ????????? ?????? ???????

???????? ????? «??????? ????? ??????» ? ???? «??????? Dr.Explain» (??????? 2) ? ??????? «??», ???? ?????????????? ??????? «???????» ? ???? «????».

??????? 2. ???? «??????? Dr.Explain»

????????? ????????? ???????? ? ?????? CHM. ??? ????? ? ??????? ???? ???????? ????? «????????? -> ????????? ???????» ?? ??????????? ???? ????????? ? ?????? «CHM ???????».



???????? ???????????? ???????? ? ????? ???????

???????? ????????? ???????????? ???????? ??? ???????? ????????? ????????? ?????????? Visual Basic ???????? ???????? ??????? ????????? ????? ???????.

??? ???????? ????? ???? ??????????? ????? «????????? -> ???????? ????» ???????? ????. ???? ???????? ??????????? ???? ???????? ?????? ?????? ???? ?? ????? ?? ??????? ?????? ??????? (??????? 3) ? ???????? ????? «???????? -> ???????? ????». ???????? ???????????? ??????? ??? ???? ???? ? ????????? ??????????.

??????? 3. ?????? ??????? «Dr.Explain»

? ??????? ??????? «?????????????», «????» ? «????» ???????????? ???? ?? ?????? ????????????? ???? ? ???????? ??????? ?? ?????????? ? ????????? ?????????. ??? ?????????? ???????? ???????? ???????????? ????? ? ?????? ??????? – ??? ?????????? ??????????? ? ???? ?????????. ????????? ?????? ??????????? ????????? ? ??????????? ???????????. ???????? ???????? ??????????? ????? ???????? ??????? ?????? ? ???????.

????? ? ????????? ???????????? ??? ??????? ??? ?????? ? ?????????????, ?????, ????????? ? ??????????? (????????????? ?????????? ????????? ???????? ????????????? ?????? ?????? ??????????. ? ????? ?????? ??? ????????? ???????????? ?????????? ????????, ??????????????? ????? ????????? ?? ???? ?????????).

???????? ???????? ???? ??????? ???????? ?????? ?? ????? ???????. ??? ?????????? ? ???????? ???? ?????? ??????????????? ?????? ? ?????? «???????? ?????» (??????? 4), ??????? ?????????? ???????? ??????????? ??????. ????? ???????? ???????? ??? ? ??????, ???????? ???????????? ?????? ? ?????? ??????? ? ?????????? ????? ???????? ????, ? ???????? ?????????? ??? ?????????????.

??????? 4. ???????? ?????

??????? «?????? ???????» (??????? 5), ??????? ?????????? ??????? «???????? ?????», ????????? ??????? ????????? ???????? ???? ?????????? ? ????????? ????????? ?????????? Visual Basic.

??????? 5. ???? «?????? ???????»

???????? ???? «Accessible-??????» ??? «Win32-????» ? ???? ???????, ????? ???? ????????? ? ?????????? Visual Basic ? ????????? ??????????? ???????????? ????? ????? ?? ????????, ???????????? ? ???? ???????. ????, ?????????? ?????????????? ??????????? ??????????, ????? ????????????? ??????? ? ????????? ? ????????? ????????? (??????? 6). ? ???? ????????? ????? ???????? ? ??????? ????????? ??? ???????? ??????? ?????????? ???????? ????????? ?????????.

??????? 6. ????????? ?????????? ??????? ???????



????????? ???????? Help ID

??? ??????????? ???????? ??? ????? ??????? ? ????????? ?????????? ? ????????? Dr.Explain ????????????? ??????????? ?????????????? ???????? HelpID. ???????? ? ?????? ??????? ???????????? ???? ? ??????? ?? ?????? «HelpID» ? ???? ??????? ???????? (??????? 7). ??????? ????????? ???????? ? ??????? ????? ???? ? ????, ????? ????????? ?????????.

??????? 7. ????????? ???????? Help ID ? ???? «???????? ????????»

????????? ???????????? ????????? ???????????????. ??? ????? ???????? ????? «??????????? –> ???????? ??????? ?? ??????» ???????? ????. ? ?????? ?????????? ??????????????? ? ?????????? ???, ? ??????????? ???? ???????? ????????? ? ????????? ????????????? ????????. ??? ?????????? ???????? ??? ????? ??????? ? ????????? ?????????? Visual Basic ???????????? ?????? ???? ?????????.



??????????????? ???????? ? ?????????? ???????

????? ?????????? ?????? ??? ???????? ?????????????? ???????? ???????????????? ????????? — ?????? «???????? CHM». ????????? ? ?????????? ??????????? ?????????? ????????? ? ???? ??? ????????. ??? ???????? ??????????? ????????? ????????? ? ????? ??????????????.

????????? ?????? — ???????? ????? «???? -> ????????? ???» ???????? ????, ? ??????????? ???? ?????????? ??????? ??? ????? ? ??????? ??? ??????????.



??????? ??????? ? CHM-????

??? ???????? ????? ? ??????? CHM ?????????? ?????????????? ??????, ??? ????? ??????????? ????? «????????? -> ??????? ? CHM» ???????? ????. ?????????? ????? «????????? ???????? ??????? ????? ?????????» ?????????? ???????????? ??????? ?? ?????? ????????. ??? ???????? ????? ?? ????????? ????????, ?????????? ???? «??????? CHM ????». ????? ???????????? ????? ??????????? ???? ??? ??????? ?????????????, ???????? ???? «???????????? ?????». ??????? ?????? «?????? ???????», ????? ????? ???? «??????? ? CHM» (??????? 8) ????? ???????????? ????? ? ???? ????????. ???????? ???? ????? ????????? ????????.

??????? 8. ???? «??????? ? CHM»



?????????? CHM-????? ? ?????????? Visual Basic

??? ?????? ??????? ? ?????????? Visual Basic ?????????? ??????? ??????????????? ??????? ??????????, ????????, ??????.

??? ???????? ???????? ?????????? ????????? ????????? ????????:

  • ???????? ??? ?????? ? ??????? ??????? ????? ??????????, ??????? ?? ???????????;
  • ????????? ? ???????? ???? (??????? 9);
  • ? ?????? ????????? ???????? «Button»;
  • ?????????? ?????? ? ?????;
  • ? ??????? ??????? ???????? ???????? ???????? ? ??? ???????. ???????? ???????? ? ???? «(Name)», ? ??????? ? ???? «Text» - ??????? ???????????? ????????, ????????, «HlpButton» ? «Help» ??????????????;
  • ????????? ? ???????? ???? ???????? (??????? 10).


??????? 9. ???????? ???? ????? ?????????? Microsoft Visual Studio



??????? 10. ???????? ???? ????? ?????????? Microsoft Visual Studio



? ?????? «Private Sub HlpButton_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) Handles HlpButton.Click» ???????????? ??? ?????? ???????? (? ?????? ?????? «HlpButton»). ??????? ???? ?????? «CallShell("explorer.exe" & My.Application.Info.DirectoryPath + "\help.chm", vbNormalFocus)», ??? help.chm –??? ????? ??????? ? ??????? CHM. ????? ???? ???? ??? ???????? ?????????? ?????? ????? ???:

Private Sub HlpButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HlpButton.Click
    Call Shell("explorer.exe" & My.Application.Info.DirectoryPath + "\help.chm", vbNormalFocus)
End Sub


  • ????????? ?????????? ?????? ???????? ??????????. ??? ????? ???????? ????? «Debug -> Start debugging» ???????? ????, ????? ???? ?? ?????? ???????? ????????? ????? ??????????. ??? ??????? ?????? «Help» ?????? ????????? ???? ???????, ????????? ????? ? ????????? Dr.Explain;
  • ????????? ????????? ????????? ??? ???? ????, ? ??????? ?????????? ???????? ??????? ?????? ???????.

???????? ????????! ??? ?????????? ?????? ???????? ?????? ????? ??????? ??????????, ????? ???? ? ??????? CHM ? ???? ?????????? Visual Basic ?????????? ? ????? ??????????. ???? ???? ????????????? ?????????? ???? ??????? ???????? ?? ????? ??????????, ??????????? ????????? ?????? ???? ???????? ?????????? «Shell("cmd /cstart D:\work\techwrite\help.chm")», ??? D:\work\techwrite\help.chm?????? ???? ?? ????? ??????? ? ??????? CHM. ??? ? ????? ????? ????? ???:

Private Sub HlpButton_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles HlpButton.Click
    Shell("cmd /cstart D:\work\techwrite\help.chm")
End Sub

? ????? ??????, ??? ????? ????????? ?????????? ????? ???????, ????, ??????????? ? ???? ???????? ??????????, ?????? ???? ??????? ?? ??????????.

?????? ??????????? ??? ????? ????? ??????????? ?????????, ?????? ?????????? ?????????, ??????????? ? ???????? – ??? ???????? ???????????? ???????? ?????????? ?????? ???????? ?????? ????? ???????.



???????? ???? ????? ??????? CHM ? ???????? ?????????? Visual Basic

?? ?????? ????????? ???????? ????????? ?????????? ? ?????????? Visual Basic ????? ???????, ??? ??? ??????? ??????? «F1» ????? ??????????? ?????? ????? ???????, ??????????????? ???????, ?? ??????? ? ????????? ????? ????????? ?????:

  • ????? ???????? ????????? «HelpProvider», ?????????? ??? ?? ?????? ????????? ? ?????. ????????? ??????????? ? ?????? ????? ???? ????????? ????;

???????? ????????! ?? ?????? ???????????? ????????? ??????????? «HelpProvider», ????????, ?? ?????? ??? ?????? ?????, ??? ? ??????, ???? ?????????? ? ????????? ???????? ???????? ? ????????? ?????? ???????.

  • ??????? ???????????? ????? ??????? — ???? «HelpNamespace» ? ???? ??????? ??????? «HelpProvider»;

???????? ????????! ?? ?????? ??????? ?????? ??? ????? ???????. ? ????? ?????? ??????????, ????? ?? ???????????? ? ????? ????? ? ?????????????? ?????? ??????????. ?????? ???? ?????? ???? ?????? ? ?????? ??????????? ?????????? ??????, ????? ??? ????? ????????? ????? ?????????? ????? ???????, ???????? ????????? «HelpNamespace» ?????? ???? ???????? ??????????.

  • ???????? ???????????? ??????, ????????? ? ???? ??????? ? ??????? ???????? Help ID ???????????????? ??????? ??????? ????? ??????? ? ???? «HelpKeywordon Help Provider1». ? ???? «HelpNavigator on Help Provider1» ???????? ???????? «TopicId»;

???????? ????????! ?????????? ??????????«HelpKeyword…» ? «HelpProvider…» ? ????????? ???????? ????????????? ?????????? ???????????? ???????????«HelpProvider», ?????? ? ???????????? ????????? ????????????? ?????? ??????????. ?????? ??????????? ??? ?????????? ?????? ?????.

  • ????????? ?????????? ?????? ?????????? «HelpProvider». ??? ????? ???????? ????? «Debug -> Start debugging» ???????? ????, ????? ???? ?? ?????? ???????? ????????? ????? ??????????. ??? ??????? ??????? «F1» ?????? ????????? ??? ?????? ????? ???????, ??????? ????????????? ????????, ???????????? ? ??????;
  • ????????? ????????? ????????? ??? ???? ????????, ??????? ?????????? ????????????? ? ????????????? ????????? ????? ???????.


???????? ???????????? ???????? ????? ??????? ? ??????? ?????????? Help Provider

?????? ?????? ???????????? ???????? ????? ??????? ?? ??????????????? ?? HelpID, ????????? «HelpProvider» ????? ????? ???? ??????????? ??? ????????? ???????? ? ?????????????? ?????? ??????????. ??? ????????? ?????? ???????????? ???????? ?????????? ?????????? ??????????????? ???????? ????? «HelpKeyword on Help Provider1» ? «HelpNavigator on Help Provider1» ? ????????? ?????????. ??? ????????? ?????? ???????????? ???????? ????? ??????? ??? ??????? ??????? «F1» ?????????? ????????? ????????:

  • ???????? ????????? «HelpProvider», ?????????? ??? ?? ?????? ???????????????. ????????? ??????????? ? ?????? ????? ???? ????????? ????;
  • ??????? ???????????? ????? ??????? — ???? «HelpNamespace» ? ???? ??????? ??????? «HelpProvider»;
  • ? ???? ??????? ????????, ? ???? «HelpNavigator on Help Provider1» ???????? ???????????? ????????:

· AssociateIndex— ????????? ??????? «?????????» ????????????? ? ?????? ?????? ?? ??????? ???????? ?????, ???????? ???????? ?????????? ? ????????? ???????? ? ???? «HelpKeywordon Help Provider1»

· Index — ????????? ??????? «?????????» ? ???????????? ? ?????????????? ?????, ????????? ? ???? «HelpKeywordon Help Provider1»

· Find — ????????? ??????? «?????»

· TableOfContents — ????????? ??????????

· Topic — ????????? ??????, ???????? ???????? ??????? ? ???? «HelpKeyword on Help Provider1».

???????? ????????! ???????? ??????? ??????????? ? ??????? «Topic.htm», ??? ?????????? ??? ?????????? ?????? ?????? ???????;

· TopicId — ???????????????,???????? ????????????? ???????? HelpID, ????????? ? ???? «HelpKeyword on Help Provider1»

· KeywordIndex — ????????? ??????? «?????????» ? ??????? ?????? ????????, ?????????? ???????? ?????, ????????? ? ???? «HelpKeyword on Help Provider1».

????? ?????? ?????? ??????? ????????? ????? ????????? ????????? ? ????? ? ?????????? ???????, ? ????? ???????????? ??? ?????? ????????? ????? ??? ???????? ??????????????? ?? ???? ??????? ??? ????????? ??? ???????.

???? ?????????? ??????? ???????????? ?????? ?????????? ??????? ? ??????? ??????, ??????????? ????????? ????????? ????:

??? ???????? ?????? ????????? ???????? ???????:

Public Class Form1
    Inherits System.Windows.Forms.Form
    Private helpfile As String = "help.chm"

Private Sub HlpButton_Click(sender As System.Object, e As System.EventArgs) Handles HlpButton.Click
    Help.ShowHelp(Me, helpfile)
End Sub

??? help.chm— ??? ????? ??????? (???? ??????? ?????? ???? ???????? ? ????? ????? ? ?????????????? ?????? ??????????)


??? ???????? ?????? ??????? «?????????»:

Public Class Form1
    Inherits System.Windows.Forms.Form
    Private helpfile As String = "help.chm"

Private Sub HlpButton_Click(sender As System.Object, e As System.EventArgs) Handles HlpButton.Click
    Help.ShowHelpIndex(Me, helpfile)
End Sub


??? ???????? ?????? ??????????

Public Class Form1
    Inherits System.Windows.Forms.Form
    Private helpfile As String = "help.chm"

Private Sub HlpButton_Click(sender As System.Object, e As System.EventArgs) Handles HlpButton.Click
    Dim navigator As HelpNavigator = HelpNavigator.TableOfContents
    Help.ShowHelp(Me, helpfile)
EndSub


??? ???????? ?????? ??????? «?????»:

Public Class Form1
    Inherits System.Windows.Forms.Form
    Private helpfile As String = "help.chm"
    Private findtext As String = ""

Private Sub HlpButton_Click(sender As System.Object, e As System.EventArgs) Handles HlpButton.Click
    Dim navigator As HelpNavigator = HelpNavigator.Find
    Help.ShowHelp(Me, helpfile, navigator, findtext)
EndSub


??? ???????? ?????? ?????? ?? ?????? ?????? ????????? ?????:

Public Class Form1
    Inherits System.Windows.Forms.Form
    Private helpfile As String = "help.chm"
    Private AsIndex As String = "me"

Private Sub HlpButton_Click(sender As System.Object, e As System.EventArgs) Handles HlpButton.Click
    Dim navigator As HelpNavigator = HelpNavigator.AssociateIndex
    Help.ShowHelp(Me, helpfile, navigator, AsIndex)
EndSub

??? "me"— ????????? ???? ??? ??????.


??? ???????? ?????? ?????? ?? ????????? ?????:

Public Class Form1
    Inherits System.Windows.Forms.Form
    Private helpfile As String = "help.chm"
    Private Index As String = "FAQ"

Private Sub HlpButton_Click(sender As System.Object, e As System.EventArgs) Handles HlpButton.Click
    Dim navigator As HelpNavigator = HelpNavigator.Index
    Help.ShowHelp(Me, helpfile, navigator, Index)
EndSub

??? "FAQ" — ???????? ?????


??? ???????? ?????? ??????? ?? ??? ????????:

Public Class Form1
    Inherits System.Windows.Forms.Form
    Private helpfile As String = "help.chm"
    Private Topic As String = "Overview.htm"

Private Sub HlpButton_Click(sender As System.Object, e As System.EventArgs) Handles HlpButton.Click
    Dim navigator As HelpNavigator = HelpNavigator.Topic
    Help.ShowHelp(Me, helpfile, navigator, Topic)
EndSub

??? "Overview.htm"— ???????? ??????? (???????? ????? ?????? ??????????? ? ??????? Topic.htm)


??? ???????? ?????? ??????? ?? ??? HelpID:

Public Class Form1
    Inherits System.Windows.Forms.Form
    Private helpfile As String = "help.chm"
    Private TopicId As String = "1500"

Private Sub HlpButton_Click(sender As System.Object, e As System.EventArgs) Handles HlpButton.Click
    Dim navigator As HelpNavigator = HelpNavigator.TopicId
    Help.ShowHelp(Me, helpfile, navigator, TopicId)
EndSub

??? "1500" — ???????? HelpID ????????????? ???????


??? ?????? ?????? ????????, ?????????? ???????? ?????:

Public Class Form1
    Inherits System.Windows.Forms.Form
    Private helpfile As String = "help.chm"
    Private KeywInd As String = "menu"

Private Sub HlpButton_Click(sender As System.Object, e As System.EventArgs) Handles HlpButton.Click
    Dim navigator As HelpNavigator = HelpNavigator.KeywordIndex
    Help.ShowHelp(Me, helpfile, navigator, KeywordIndex)
EndSub

??? "menu"— ???????? ????? ??? ?????? ????????.