如何 VBasic 程序中使用 HTML 帮助文本弹出窗口

文章翻译 文章翻译
文章编号: 192118 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文介绍如何使用 Visual Basic 应用程序中的 HTML 帮助上下文相关的文本弹出窗口。如果用户将光标放在控件上并按下 F1 键,上下文相关的文本将出现在一个小框。

注: 本文假定读者已准备的 HTML 帮助项目文件,使用 HTML 帮助研讨会,并已准备就绪,可向其添加区分上下文的文本弹出窗口。

更多信息

分步过程

  1. 使用象 Word 或 $ 记事本,这样的文本编辑器创建主题的文本文件 (.txt) 包含的弹出窗口的文本。下面是一个示例的语句在文本文件中的显示方式:
          .topic 1
          This is a text popup window for topic 1.
    
          .topic 2
          This is a text popup window for topic 2.
    
          .topic 3
          This is a text popup window for topic 3.
    
    						
    对于每个主题".topic"是所需,跟一个空格和数字常量或数字。紧跟在行必须包含您想要在弹出窗口中显示的文本。

    该文本文件可能还出现如下所示:
          .topic IDH_MYTOPIC1
          This is a text popup window for topic 1.
    
          .topic IDH_MYTOPIC2
          This is a text popup window for topic 2.
    
          .topic IDH_MYTOPIC3
          This is a text popup window for topic 3.
    
    						
    此的示例在您需要定义常量 IDH_MYTOPIC1,IDH_MYTOPIC2,IDH_MYTOPIC3 帮助项目文件的 [MAP] 部分中,如下所示:
          [MAP]
    
          #define IDH_MYTOPIC1 1
          #define IDH_MYTOPIC2 2
          #define IDH_MYTOPIC3 3
    
    						
    有关 HTML 帮助研讨会帮助中主题下要创建一个上下文相关帮助主题文件"中创建文本主题文件的其他信息。
  2. 包含主题文本文件 [文件] 部分中,在该 [TEXT 弹出窗口] 部分中的帮助项目文件。下面是文件的一个示例,其中"cpopups.txt"是文件的主题的名称:
          [FILES]
          topic1.htm
          topic.htm
          cpopups.txt
    
          [TEXT POPUPS]
    
          #include cpopups.txt
    
    						
    注: 使用文本编辑器添加 [TEXT 弹出窗口],并将 # include 语句。
  3. 下面的示例演示在 Visual Basic 应用程序中所需的定义。应该在模块文件中包含这些定义,在您的项目中:
          Public Const HH_TP_HELP_WM_HELP = &H11
    
          Declare Function HtmlHelpByRefArg Lib "hhctrl.ocx" Alias "HtmlHelpA"
          (ByVal hwndCaller As Long, ByVal pszFile As String, ByVal uCommand As
          Long, ByRef dwData As Any) As Long
    
          Type HH_IDPAIR
            dwControlId As Long
            dwTopicId As Long
          End Type
    
          'This array should contain the number of controls that have
          'context-sensitive help, plus one more for a zero-terminating
          'pair.
          Public ids(4) As HH_IDPAIR
    
          Declare Function GetDlgCtrlID Lib "user32" (ByVal hWnd As Long) As
          Long
    
          Public Const g_sHTMLHelpFile As String =
           "myhelpfile.chm::/cpopups.txt"
    
    						
    注: 本示例假定.chm 文件是在 Visual Basic 应用程序所在的同一目录中,因为未指定路径。
  4. 将窗体的 KeyPreview 属性设置为 true。
  5. 有关每个控件都有一个文本的弹出式窗口,请设置 id 数组中的值。第一项应控件为 id 可通过使用 GetDlgCtrlID 例程获取的。第二项应出现在主题文本文件中的主题 id。以下是如何填充该数组在 Form_Load 例程中的一个示例:
          Private Sub Form_Load()
    
           ids(0).dwControlId = GetDlgCtrlID(Me.MyButton.hWnd)
           ids(0).dwTopicId = 1
           ids(1).dwControlId = GetDlgCtrlID(Me.MyText.hWnd)
           ids(1).dwTopicId = 2
           ids(2).dwControlId = GetDlgCtrlID(Me.MyList.hWnd)
           ids(2).dwTopicId = 3
           ids(3).dwControlId = 0
           ids(3).dwTopicId = 0
    
          End Sub
    
    						
    注: 在数组中的最后一次对必须包含零 (0)。
  6. 截获捕获 F1 键按下的窗体的 KeyUp 方法。例如:
          Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    
           If KeyCode = vbKeyF1 Then
    
                iRetCode = HtmlHelpByRefArg(Me.ActiveControl.hWnd,_
                      g_sHTMLHelpFile, HH_TP_HELP_WM_HELP, ids(0))
    
          End If
          End Sub
    
    						
  7. 运行 Visual Basic 应用程序。选择窗体上的控件,然后按 F1 键。
RESULT: 应出现在屏幕上的合适的文字弹出窗口。

参考

"官方 Microsoft HTML 帮助创作工具包",Steve Wexler,Microsoft 按 1998

HTML 帮助网站:
http://msdn2.microsoft.com/en-us/library/ms670169.aspx

属性

文章编号: 192118 - 最后修改: 2007年7月2日 - 修订: 2.2
这篇文章中的信息适用于:
  • Microsoft HTML Help 1.3
  • Microsoft HTML Help 1.1
  • Microsoft Visual Basic 5.0 学习版
  • Microsoft Visual Basic 5.0 专业版
  • Microsoft Visual Basic 5.0 企业版
关键字:?
kbmt kbapi kbhowto KB192118 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 192118
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com