精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>掌上电脑>>● 掌上电脑>>WINCE 程序开发>>Windows CE环境下的帮助文件

主题:Windows CE环境下的帮助文件
发信人: jkf(任逍遥)
整理人: jkf(2001-04-06 14:15:02), 站内信件
---- 1 概述 

---- 如果您正着手编写基于Windows CE的商品化程序,一定希望能够找到一种简单的方法,轻松编写自定义的帮助文件。笔者在编程实践中也遇到了类似的问题。在这里我们将介绍两种方法去构造和处理一个简单的独立帮助文件。该帮助文件包含了一个内容表,并允许用户在各个主题之间进行转换。读者也可套用该例,将相应的内容略作修改即可。 

---- 2 Windows CE下的帮助文件 

---- Windows的最早版本中已经提供了在线帮助功能。在Windows CE 之前,Windows帮助体系是基于WinHelp机制的。由于Windows CE设备的空间非常有限,若仍采用WinHelp 机制是非常不切实际的。但是,Windows CE 确实有它自己的帮助机制,叫做“袖珍帮助”(Pocket Help)。Windows CE 并未采用WinHelp超文本语法。Pocket Help文件可用HTML语言来编写。 

---- 通常Windows CE下的帮助文件有下面两种类型:Content File和Section File。其中Content File是主要的帮助文件,它将其它的帮助文件连接起来。扩展名为.htc。它必须存放在\Windows目录下。Section File包含与其它文件的超级链接和信息,它可以存在于Windows CE文件系统的任何位置,扩展名为.htp。 

---- 由于在Windows CE设备上要考虑空间大小,提供无穷无尽的在线帮助是不可能的。在应用中,Windows CE的帮助文件应该只包含普通任务和键盘命令的信息,更多的详细信息应存放在其它形式的文档中。 

---- 3 应用程序框架与帮助文件 

---- 下面我们将编写一个简单的带一个内容表及四个主题的帮助文件。这里我们将用Windows CE for Visual C++ 5.0 Embedded Tool Kit来实现。 

---- 3-1 利用AppWizard来创建帮助文件 

---- 首先,创建一个MFC风格的工程(WCE MFC AppWizard(exe))。当运行AppWizard时,注意要选择Context_Sensitive Help选项。 

---- 第二步,建立帮助文件。这里,我们将分别建立五个帮助文件:MyHelp.htc及Subject1.htp、Subject2.htp、Subject3.htp、Subject4.htp。其中Subject2.htp、Subject3.htp、Subject4.htp的内容类似于Subject1.htp,在这里就不在详细列出。这五个文件可采用任意一种编辑器编辑,如VC的编辑器。其代码如下所示。 

“MyHelp.htc”

    < HTML >
    < HEAD >
    < META HTTP-EQUIV=refer content=”” >
    < /HEAD >
    < BODY >
    < H5 >Example Help File< /H5 >
    < MENU >
< li >< a href=”file:Subject1.htp” >
Subject 1 Help< /a > 
< li >< a href=”file:Subject2.htp” >
Subject 2 Help< /a > 
< li >< a href=”file:Subject3.htp” >
Subject 3 Help< /a > 
< li >< a href=”file:Subject4.htp” >
Subject 4 Help< /a > 
    < /MENU >
    < /BODY >
    < /HTML >

“Subject1.htp”

 < HTML >
 < HEAD >
 < META HTTP-EQUIV=refer
content=”file:MyHelp.htc” >
 < /HEAD >  
 < BODY > 
  Subject 1 of the example help file  
 < /BODY >      
 < /HTML > 

---- 第三步,将MyHelp.htc及Subject1.htp、Subject2.htp、Subject3.htp、Subject4.htp存放在Windows CE文件系统的\Windows目录下。 
---- 若是在台式PC机上调试,操作工作如下: 1) 在开始菜单中选程序(P),Windows CE Platform SDK,Windows CE Remote Tools,Remote CE OS View。 

---- 2) 将编辑好的MyHelp.htc及Subject1.htp、Subject2.htp、Subject3.htp、Subject4.htp复制到Emulator Files 下的\Windows目录下。 

---- 第四步,将AppWizard生成的应用程序修改一下。将theApp()中参数修改一下,变为theApp(_T("工程名"), _T("MyHelp.htc")),其中工程文件名为用户的工程名。最后,当程序运行时当用户点击帮助按钮时,程序就会显示相应的帮助主题,见画面一(略)。当用户点击Title for Topic 1后,即会出现画面二(略),当按返回按钮后即可回到画面一。 

---- 3-2 手动创建帮助文件 

---- 若您在创建工程时,在运行AppWizard时未选择Context_Sensitive Help选项,怎么办?没关系,您只需在原有程序基础上手工添加上帮助文件即可。 

---- 例:假设已有一名为newhelp.dsw的工程。在创建时没有选择Context_Sensitive Help选项。现在工程中加入一个按钮,希望按下此按钮后即可出现相应的帮助主题。可操作如下: 

---- 首先,将CNewhelpApp类的构造函数中增加一个参数。即将“ CNewhelpApp(LPCTSTR lpszAppName )”修改为“CNewhelpApp(LPCTSTR lpszAppName,LPCTSTR lpszHelpName)”; 

---- 其次,将“CNewhelpApp theApp(_T("newhelp"))”修改为“CNewhelpApp theApp(_T("newhelp"),_T("myhelp.htc"))”; 

---- 最后,将按钮的ID设为“ID-HELP”,在类CnewhelpApp的消息映射中增加语句“ON_COMMAND(ID_HELP, CWinApp::OnHelp)”即可。 

---- 4 小结 

---- 上面我们简单地介绍了利用AppWizard的Context_Sensitive Help选项及手动建立帮助文件两种方法。通过上面的介绍,读者可以发现:利用AppWizard(exe)创建的帮助功能,只能由AppWizard产生的标准的带问号的帮助按钮来激活;而利用手工来添加帮助文件则要灵活的多。程序员可根据程序需要灵活地添加相应的帮助文件。两种方法均不难掌握。 

---- 本文并未详细讨论HTML的语法,读者可参见相应的语法书籍,进一步修饰、扩充文中的例子的功能,希望本文能够对所有正准备编写Windows CE环境下的帮助文件的程序员有所帮助。 
 



----
哦 又是我任逍遥

[关闭][返回]