符合Windows 98规范的帮助文件的开发.docx
《符合Windows 98规范的帮助文件的开发.docx》由会员分享,可在线阅读,更多相关《符合Windows 98规范的帮助文件的开发.docx(15页珍藏版)》请在冰点文库上搜索。
符合Windows98规范的帮助文件的开发
发送消息
问:
怎样发送一个消息CBN_SELCHANGE给组合框?
答:
下面的代码会使你满意的。
CWnd*pWnd=GetTopLevelParent();
if(pWnd)
{
lResult=pWnd->SendMessage(WM_COMMAND,wParam,(LONG)hWnd);
if(lResult==0)//perhapsmayparentisadialogbox;
{
pWnd=GetParent();
lResult=pWnd->SendMessage(WM_COMMAND,wParam,(LONG)hWnd);
}
}
符合Windows98规范的帮助文件的开发
Windows98的在线帮助系统较Windows95有较大的改变,它使用的是一个以
网络超级文本(HTML)为特征的新型帮助系统,即HTML帮助系统。
它是来自
Microsoft公司的下一代联机帮助系统,它使用MicrosoftInternetExplorer的
基础组件来显示帮助内容,它支持HTML、ActiveX、Java、脚本(Java脚本和
MicrosoftVisualBasic脚本)以及HTML图像格式(.jpeg、.gif、.png)。
HTML
帮助文件的扩展名也由Winhelp的.hlp变为.chm。
一个典型的HTML帮助系统如图1所示。
图1.一个典型的HTML帮助系统示例
鉴于以上原因,开发符合Windows98规范的帮助文件就成为编程人员的迫切
需要。
MicrosoftHTMLHelpWorkshop正是Microsoft公司针对这种新型帮助系统
而提供的一个集成开发环境,使用它您能简捷、方便、快速地开发帮助文件。
1.创建帮助主题文件
创建一个帮助文件最重要的工作就是创建若干您需要的主题文件。
HTML帮助
的主题文件是使用超级文本语言(HTML)创建的HTML文件,其扩展名是.htm或
.html。
您可以使用MicrosoftHTMLHelpWorkshop创建帮助主题文件,但是笔者认
为使用MicrosoftWord97来创建更方便。
因为Word97可以把Word文档(.doc)
文件另存为HTML文件;甚至Word97还包括一个将.doc文件转换为HTML文件的批量
文件转换工具。
这样您就可以完全按您撰稿拟文的习惯编写Word文档文件,然后
再转换成HTML文件,而不必面对HTML复杂的源代码。
在Word97中还可以使用插入
(Insert)菜单定义超级链接(HTMLHelpWorkshop中称为正文链接)和书签。
2.创建帮助项目文件
2.1HTMLHelpWorkshop的帮助项目文件
HTML帮助项目(.hhp)文件是一个纯文本文件,可以使用任何一个字处理软
件(如Windows的记事本等)打开并编辑它。
HTML帮助项目文件将创建一个帮助文
件将所需要的所有元素都联系在一起。
这些元素包括帮助主题文件(.html,
.htm)、图像文件(.jpeg、.gif、.png)、索引文件(.hhk)、内容文件(.hhc)
以及其他文件。
它也包含关于如何编译一个帮助项目文件及帮助文件界面的信息
。
最后HTMLHelpWorkshop将所有的这些内容编译成一个单个的帮助文件(.chm)
。
2.2创建帮助项目文件
进入MicrosoftHTMLHelpWorkshop,在File菜单下选择New,在弹出的New对话框中选择Project,HTMLHelpWorkshop将启动NewProject向导,跟随向导就可以创建一个帮助项目文件。
在其中第三步,ExistingFiles(已存在的文件)应核选HTMLfiles框(见图2),以保证在第四步中能将使用Word97制作的HTML文件包括在帮助项目文件中。
图2.NewProject向导的第三步
3.创建目录(Content)文件
3.1目录和目录文件
帮助文件的目录类似于Windows资源管理器的左半部分,其形式如图1中左半
部分窗口所示。
目录文件是包含一个帮助文件的所有目录,而每个目录又包含条
目名称(或条目标题)、跳转到帮助主题的捷径以及每个条目属性的文件,该文
件是一个HTML格式的文件。
当用户在帮助文件的目录页中单击一个条目标题时,
与该条目的标题相链接的HTML文件将被打开。
3.2创建目录文件
创建目录文件有两种方法:
(1)在HTMLHelpWorkshop中打开项目文件。
在File菜单上单击New选项,
选择TableofContents,Workshop将创建一个未命名的目录文件,将其保存。
然
后在项目文件窗口的Project选项卡中单击“Changprojectoptions(改变项目
选项)”按钮打开Options对话框并进入Files选项卡(见图3),在Contents
File栏中选择刚保存的目录文件。
图3.ProjectOptions对话框
(2)如果项目文件中尚没有包括目录文件,那么,在刚创建的项目文件的窗
口中单击Contents选项卡,HTMLHelpWorkshop将显示目录文件尚未建立的提示
并允许您创建一个新的目录文件或打开一个已存在的目录文件,选择Createa
NewContentsFile(创建一个新的目录文件)(见图4),单击“OK”,HTML
HelpWorkshop创建一个空的目录文件。
图4.目录文件尚未建立对话框
3.3向目录文件添加目录
在Contents选项卡中单击“Insertaheading”按钮,出现“Tablesof
ContentsEntry”对话框(见图5),在该对话框的“Entrytitle”栏中输入条
目标题,并单击“Add”按钮为条目添加链接的帮助主题。
图5.“TablesofContentsEntry”对话框
单击“Advanced”选项卡,在“Imageindex”栏中为条目指定图标,如包含
其他条目的条目可以用书形图标,而其他条目用问号图标,如图1中所示。
在Contents选项卡中单击“InsertaPage”按钮;如果在单击“Inserta
Page”按钮之前,您选择的条目不包括别的条目且不被别的条目所包括,那么,
HTMLHelpWorkshop将询问您是否要创建一个起始条目,否则单击该按钮将会增
加一个子条目。
Contents选项卡中的其他按钮的功能包括:
删除一个条目、改变一个条目的
位置和级别以及修改目录的属性。
3.4让目录文件包含另一个目录文件
打开目录文件,选择一个条目,鼠标右键单击,在弹出的菜单中单击“
InsertFile”,在出现的IncludeFile对话框中选择另外一个目录文件(.hhc)
,在您选择的条目下将出现一条语句:
INCLUDE:
filename.hhc,其中
filename.hhc代表您要包含的带路径的目录文件名。
4.创建索引(Index)
4.1关键字(Keyword)和索引文件
关键字是用户可能用到的并与一个或多个帮助主题文件关联在一起的字、词
或短语。
索引文件(.hhk)也是一个HTML文件,它包含若干个关键字。
当用户在编
译过的帮助文件里单击索引页并选择一个关键字时,帮助文件将显示与这个关键
字有关的帮助主题或显示有关帮助主题的标题的列表。
4.2创建索引文件
创建索引文件的方法与创建目录文件完全相同。
4.3创建关键字
打开项目文件,在Index选项卡中单击“InsertaKeyword”按钮,出现“
IndexEntry”对话框(该对话框与“TablesofContentsEntry”对话框十分相
似),在“General”选项卡的Keyword栏中输入关键字的名称,单击“Add”按
钮指定与该关键字相关联的帮助主题文件。
4.4设置关键字跳转到另一个关键字
打开索引文件,选择你需要跳转到另一个关键字的关键字,单击“Edit
Selection”按钮,在“IndexEntry”对话框中单击“Advance”选项卡(见图6
),核选“DestinationisAnotherKeyword(目的地是一个关键字)”框。
单
击“General”选项卡,单击“Add”按钮,在“FileorURL”框中,输入您需
要跳转到的关键字,单击“OK”。
图6.“IndexEntry”对话框的Advance选项卡
5.丰富帮助主题文件的内容
5.1查看HTML文件的源代码
查看HTML文件的方法有两种。
(1)在HTMLHelpWorkshop的File菜单上单击Open打开一个HTML文件。
(2)在项目文件的“Project”选项卡或“Contents”选项卡中双击一个
HTML文件或先选择一个HTML文件,然后单击“ViewHTMLSource”按钮。
HTML文件的源代码将显示在项目文件窗口的右半部分。
5.2向HTML文件中插入HTMLHelpActiveX控件
5.2.1HTMLHelpActiveX控件简介
HTMLHelpActiveX控件是ActiveX控件的一种,它是针对HTML帮助而设计的
。
向帮助主题文件中插入HTMLHelpActiveX控件使您可以为您的帮助文件添加诸
如快捷方式、相关主题、KLinks及Alinks等帮助文件的特征。
HTMLHelpActiveX
控件所提供的功能和界面能在支持ActiveX技术的浏览器中显示。
5.2.2插入HTMLHelpActiveX控件的一般方法
(1)在Workshop中打开一HTML文件。
(2)把光标放在HTML文件BODY部分的您希望ActiveX控件出现的地方。
(3)在“Tags(标签)”菜单上,单击HTMLHelpControl(HTML帮助控件),出现HHCTRL向导(见图7)。
图7.HHCTRL向导的第一和第二步
第一步,在该对话框的“Specifythecommand(指定命令)”栏中选择一个
您将使用的命令名字,在IDname栏输入控件的ID名称;第二步选择控件的显示类
型,缺省的显示类型为按钮(Button);接着按屏幕上的提示继续操作即将HTML
帮助控件插入HTML文件。
向HTML文件中插入HTMLHelpActiveX控件都采用这种方
法,以下不再赘述。
5.2.3向HTML文件中插入快捷方式(ShortCut)
使用一个快捷方式可以在帮助文件中打开或初始化一个可执行的程序。
例如
,用户可以在帮助文件中单击一个按钮或者一个链接(如Windows98帮助中的单
击此处)来启动一个可执行的程序如(Windows的记事本)或对话框(如Windows
的添加/删除程序对话框)。
插入快捷方式的步骤如下:
(1)在HHCTRL向导的第一步(见图7)的Specifythecommand栏中选择“
ShortCut”。
(2)在HHCTRL向导的“ShortCut”对话框(见图8)中输入该快捷方式要启
动的程序名称(如Notepad.exe)及参数。
图8.HHCTRL向导的“ShortCut”对话框
5.2.4向HTML文件中插入相关主题(RelatedTopics)
相关主题是出现在某个主题文件中包含与该主题文件相关的主题文件的链接
的HTMLHelpActiveX控件。
插入相关主题的步骤如下:
(1)在HHCTRL向导的第一步(见图7)的“Specifythecommand”栏中选择
“RelatedTopics”。
(2)在HHCTRL向导的“RelatedTopics”对话框中输入相关的主题文件的标
题和路径(见图9)。
图9.HHCTRL向导的“RelatedTopics”对话框
5.2.5向HTML文件中插入关键字链接(KLinks)
关键字链接(KeywordLinks)简称KLinks,它是在已经加入到帮助主题文件
中的关键字的基础上建立的。
当用户在帮助文件中单击KLinks按钮或链接时包含
Keyword(与该Klink中的Keyword相同)的主题文件的标题将列表显示。
当在帮助
主题文件中增加或减少关键字的时候,Klinks也自动地更新。
使用Klink也能跳转
到另外的帮助文件的主题文件。
5.2.5.1创建Klinks
创建Klinks的步骤如下:
(1)向HTML文件加入关键字
①打开HTML文件,并将光标定位在BODY部分需要加入关键字的地方。
②在Edit菜单上单击“Compilerinformation(编译信息)”,启动
Compilerinformation对话框(见图10),单击Keywords选项卡。
在Keywords选
项卡中单击“Add”按钮,接着指定关键字;可以指定多个关键字,并用分号将它
们分隔开。
图10.编译信息对话框
(2)向HTML文件插入关键字链接
向HTML文件插入关键字链接实际上就是向HTML文件插入一个命令为“Keyword
Search”的HTMLHelpActiveX控件,其方法如5.2.1节所述,其中需要说明的步
骤如下:
①在HHCTRL向导的第一步(见图7)的“Specifythecommand”栏中选择“
KeywordSearch”。
②在HHCTRL向导的“KeywordSearch”对话框中单击“Add”按钮,输入已在
Compilerinformation对话框定义的关键字(见图11)。
图11.HHCTRL向导的“KeywordSearch”对话框
5.2.5.2将Klinks关键字包括在索引文件中
在“Changprojectoptions”对话框的“Files”选项卡(见图3)中核选
“IncludeKeywordsfromHTMLfiles(包括HTML文件中的关键字)”框,
Klinks关键字将被包括在索引文件中。
5.2.6向HTML文件插入联想链接(ALinks)
联想链接(AssociativeLinks)简称ALinks,它是在已经加入到帮助主题文
件中的AlinkNames的基础上建立的。
当用户在帮助文件中单击ALinks按钮或链接
时包含AlinkName(与该ALink中的AlinkName相同)的主题文件的标题将在一个
对话框或弹出菜单中显示。
与关键字不同的是帮助文件用户决看不到ALinkName
。
创建Alinks的步骤除以下两点外与创建Klinks的方法完全一致,有区别的两
点是:
(1)在Compilerinformation对话框中要单击AlinkNames选项卡(见图10)。
(2)在HHCTRL向导的第一步(见图7)的“Specifythecommand”栏中选择
“ALinkSearch”。
5.2.7用文字代替按钮显示HTMLHelpActiveX控件
用以上所述的方法向HTML文件加入HTMLHelpActiveX控件之后,HTMLHelp
Workshop在HTML文件中也加入了一个Object标签如下:
1 2classid="clsid:
adb880a6-d8ff-11cf-9377-00aa003b7a11"
3codebase="hhctrl.ocx#Version=4,72,7325,0"
4width=100
5height=100
6>
7
8KLinks">
9
10
11
这是一个典型的HHCTRL向导所加入的标签(不包括左面的行号),根据插入
HTMLHelpActiveX控件时选择的命令不同其中第7行的“value”值有所不同。
从
第8行可以看出HTMLHelpActiveX控件在HTML文件中缺省地以按钮的方式显示,
要想以文字代替按钮,只要将“Button”改成“Text”就可以了,这时第8行的“
value”值也从原来显示在按钮上变为作为单独的文字来显示HTMLHelpActiveX
控件,它是不带下划线的,要想改成带下划线的文字只需在第8行和第9行之间加
入类似下面的语句:
如果您在
HHCTRL向导中选择的不是以文字显示在按钮上,那么第8行的“value”值也要修
改成“Text:
xxx”的形式。
5.3向HTML文件中插入JavaScript(Java脚本)
5.3.1用正文链接代替按钮显示HTMLHelpActiveX控件
请注意,本问题与5.2.7有所不同,5.2.7中显示HTMLHelpActiveX控件的方
式是带下划线的文字,而本问题却是以正文链接来显示HTMLHelpActiveX控件,
其实是在HTML文件中又加入了JavaScript,实现的方法是:
在创建HTMLHelp
ActiveX控件时的HHCTRL向导的第二步(见图7)中选择“Hidden(onlyusedfor
scripting)[隐藏(仅为脚本使用)]”,创建好HTMLHelpActiveX控件之后,
在Object标签的下面加入类似以下的标签:
hhctrl1.Click()">KLinktextlink
下面是一个典型的正文链接标签:
atextlink
从以上两个标签的比较可以看出新加入的标签确实是一个正文链接(在Word
97中叫超级链接),区别是用一个JavaScript语句代替了链接要跳转到的HTML文
件。
新加入标签中的“hhctrl1”是在HHCTRL向导的第一步所填入的HTMLHelp
ActiveX控件的“IDName”。
5.3.2向HTML文件插入一个弹出式窗口(pop-upwindows)
弹出式窗口是一个弹出在帮助主题之上的窗口。
它的样式能自动调整大小,
以恰好容纳它里面所有的文字和图像。
弹出式窗口一直保持在屏幕之上直到用户
用鼠标单击其内部或外部的任何地方。
该窗口的式样如图12所示:
图12.一个弹出式窗口的例子
要向HTML文件插入一个弹出式窗口,只需在HTML文件中加入类似于下面所列的语句:
JavaScript:
hhctrl.TextPopup("Thisishowapop-upwindowlooks.","Verdana,10",9,9,-1,-1)>here
可以看出,以上语句也是一个修改了的正文链接。
其中,括号中的文字就是
显示在弹出式窗口中的文字,您可以按该语句所示的格式修改成您需要的文字。
5.4将链接指向另外帮助文件中的主题文件
将链接指向另外帮助文件中的主题文件的方法是将链接所指的帮助主题文件
改成以下形式:
*.chm:
:
/*.htm。
其中第一个*号代表另外的帮助文件的文件名,
第二个*号表示第一个*号所表示的帮助文件中的帮助主题的文件名。
6.创建搜索(Search)
帮助文件的Search选项卡允许用户在帮助文件的所有主题文件中搜索与用户
在Search选项