⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 9912.txt

📁 关于编程技术技巧的文章
💻 TXT
📖 第 1 页 / 共 3 页
字号:
作为编译器,它能把帮助文件源代码编译成一个Windows可以调用的二进制的帮助
程序(HLP文件)。该帮助编译程序在VB、VC或VFP相应光盘TOOLSHCW中可找到。
运行SETUP后创建的Microsoft Help Workshop程序组中包含Help Workshop
(HC.EXE)和Hotshot Editor(SHED.EXE)两个实用程序。
  一、  帮助文件制作的步骤
1. 用WORD编写好帮助文件内容,存盘成RTF(Rich Text Format)格式的文件;
l 建立不可滚动的标题区;
l 加入诸如$、#、K、+、*和分页符等形式的脚注符号,其有固定的语法来描述帮
助文件的页面格式、字体、图像、风格、背景、书签等;
l 设置热点,如跳转热点、弹出热点、图形热点等,并建立主题间的链接;
l 插入所要的图形。
2. 用HC.EXE生成帮助工程文件(*.HPJ)和帮助项目文件(*. CNT),并编译成Windows
可以调用的二进制帮助文件(*.HLP);
3. 从VB或VC等程序中调用帮助文件(*.HLP)。
二、帮助系统规划  
一旦了解了应用程序的使用对象,设计帮助文件的下一步就是规划它的目录。规划
包括以下内容:
l 确定目录(Contents)窗口上出现哪种帮助类别(Help Categories);
当弹出帮助文件时,就出现该帮助文件的目录窗口。帮助类别是对帮助文件中包含
的帮助主题的逻辑分组。在目录窗口上,帮助类别能以任意顺序列出,但一般以字
母顺序或分类顺序显示出来。如图所示就是一个典型的帮助文件的目录窗口。
目录页用起来就好象看一本书,目录表中看到的是各章的标题。然后可根据标题仔
细读某一章看是否有指定的主题。当目录窗口中的一项在文本左边显示一个书本图
标时,就表示在它下面还含有附属帮助主题。双击该项,就显示该项的子题和相关
主题集合,可以看到该主题下以递次缩进的方式排列着很多的相关主题集合选项。
其他合着的书,说明他们下面至少还有另外一级显示的主题信息。帮助文件结构的
最底层是用"?"图标标出的帮助主题,代表的是此页的信息,。当用户双击最底层帮
助主题时,关于该帮助主体详细信息的帮助文档出现在目录窗口之外。除了文本之
外,该窗口还含有相关帮助主题的引用,从该窗口能够直接访问这些相关帮助主题。
如图所示是一个完整的帮助文件层次结构。


l 确定帮助主题(Topics);
帮助主题是一个文档和文档的集合,它回答关于应用程序的某个问题,比如
"Microsoft Word 97的新增功能"、"如何保存文件?"。由帮助主题决定目录
(Contents)窗口的内容。
l 确定搜索标准(Seacher Criteria);
索引窗口显示已编译的帮助文件中所含有的所有索引项列表,用户通过访问索引窗
口来搜索帮助主题。这个窗口有两个主要的控制:屏幕顶部用来输入关键词的文本
框;屏幕中间的列表框,用来显示组成帮助文件索引的关键词。用户在搜索准则文
本框中键入一个单词后,索引窗口就在帮助主题中定位到匹配用户所键入单词的
项。当用户在搜索窗口列表中单击索引项时,帮助文件显示与所选索引项对应的一
个帮助主题或者帮助主题列表。
关键词包括在帮助文件的索引中,成为搜索准则的一部分。索引窗口为用户快速寻
找并转到帮助主题提供了一种简单方便的方式。当编译帮助文件时,组成索引窗口
的元素会自动生成。
三、帮助文件的制作语法
在帮助文件中,除了单纯的文字说明以外,还需要提供更详细的帮助(例如对于特
殊名词的解释等)。所以要进行跳转文字或者定义文字的设计,当单击这些特殊格
式的文字即可切换到另外一个帮助画面。
下面是有关于帮助文件制作过程中所涉及的几个专业术语。
跳转文字:借助设置跳转点(JUMP POINT)的方式,将某段文字指定为跳转文字,
其外观会以绿色文字显示,当用户鼠标指针单击此段文字时,即可切换到另一页帮
助内容,运行的方式类似于网页浏览的超级链接功能。
定义文字:如果仅仅是作简短的说明,例如特殊名词的定义等等,并不需要浪费太
多的时间切换画面的方式进行,只需要弹出屏幕提示框即可达到目的。
HOTSPOT功能:即所谓图形热点,类似于命令按钮的功能,在帮助文件中提供一种
HYPERGRAPHIC格式的图形文件,它是图形上的某一个特定的特定区域,可以是规
则,也可以是不规则的。当鼠标指针移到图形上某些特定的区域上,鼠标变成一个
手的形状,单击即可看到有关界面的相关帮助内容。此功能也是一种链接的技巧应
用,用户通过图形界面的帮助更能一目了然。
显示页:指一个画面所显示的说明文字,每个帮助画面都是一个显示页。每个显示
页之间用分页符隔开。每一个显示页可以分为三个区段即:标题区、正文区、脚注
区。
1. 标题区:
标题区是书写帮助文件每页的提头说明,想让标题区在阅读时禁止滚动,可以这样
定义:将标题区选定,然后选中"格式"、"段落"选项,并选定对话框窗口中的"与
下段同页"。
2. 脚注区:
脚注都是放在每一个标题的开始,常用的脚注符号有;
l #----指定变量(Context),它是帮助文件的ID号,每一个主题的ID号都是唯
一的,否则将导致显示页的搜索错误,通过它可以在各个主题间互相跳转。
l $----设置主题(Title)。所谓"主题"就是在说明显示页上的最上一行的文字。
一般来说,每个显示页只有一个主题,它是说明显示页内容的主题,在"历史纪录"
窗口和"搜索"窗口中搜索到的就是主题。
l K----建立关键字。在"搜索"窗口中,就是通过关键字来寻找相应的主题,通过
已知的关键字,可以快速查找相关主题,这是帮助文件的一个非常有用的特点。每
个主题可以由两个以上关键字,但必须以";"分开。
l +----建立浏览次序。在帮助窗口中有使用"《"(向前浏览")和"》"(向后浏览),
可以快速浏览相关的主题,原因就是在这几个相关的主题间,建立了浏览次序。一
般的主题浏览格式为:主体:序号,例如:EDITOR:20
l *-----设置帮助主题的书签, 书签能够快速地定位到曾经浏览过的帮助文件。
l 隐藏文字----作为文章关联字符串,指定跳转文件或者定义文件的文章关联字符
l 下划线----定义文字
l 双下划线或删除线-----设置跳转文字
脚注可以这样定义:
将光标移到主题行的第一个字符前面。
利用"插入","脚注"将所用的脚注(如"#")输入。
光标移到"脚注编辑器"到并输入变量字符串。
3. 正文区:
正文区是用来编写帮助文件的主要部分,正文区域内实现跳转(JUMP)和注释
(POP-UP),其的特殊格式如下:
(1)JUMP:
建立跳转,某些字符建立JUMP后,会在帮助文件中呈现绿色并带有下划线,单击
鼠标左键跳转到其他主题的显示页下。有文字JUMP和图形JUMP。
文字JUMP的制作方法:将准备建立JUMP的文字字符串选定,将该字符串的属性设
置为"双下划线",然后输入其跳转显示页的ID号(即CONTEXT),将将ID号的属
性设置为"没有任何下划线"和"隐藏"。
图形JUMP的制作方法:可以将一个图形很容易地加入正文中,可以用直接插入Word
插入图形,还可以使用语法来加入图形。
{BMC FILENAME.bmp}将图形看作字符,在使此文字处放置图形。
{BML FILENAME.bmp}将图形靠左显
{BMR FILENAME.bmp}将图形靠右显示
如果加入图形JUMP,须将BMP图形用热点编辑器SHED.EXE设置热点区域,在选定
的热点中设置属性为JUMP,并设其Context String作为将跳转的显示页的
Context 。所有热点区域定义完毕后,将图像保存.SHG文件,使用上述图形命令加
入正文中。例如"{BMC FILENAME.bmp}。
(2)POP-UP:
给帮助文件加入注释。字符建立POP-UP后,会在帮助文件中呈现绿色并带虚下划
线,单击鼠标左键可以弹出一个说明显示页窗口。POP-UP的制作方法与JUMP基本
相同,只是建立POP-UP的字符串设置为"单下划线",图形热点属性为POP-UP。
文档中的的任何说明文字都可设置以它的属性(字体型号、大小、颜色等),但隐
藏属性不可以随便设置,只有CONTEXT字符串才能使用。
将所有显示页的内容书写完毕后,文档以.RTF格式保存。
四、HC和SHED的使用
1、帮助编译器HC
帮助编译器HC能生成HPJ和CNT文件。HPJ文件是一类用来管理帮助文件中所有
相关的重要文件,文件格式与WIN.INI相类似,将其内容分成几个区段,可以用任
何文本编辑软件来编辑。但最好不要直接修改显示的文件列表。CNT文件是帮助项
目文件,显示帮助类别,即目录窗口中帮助主题的逻辑分组,但一般以字母顺序或分
类顺序显示出来。在HPJ文件中的Options选项Files下Contents Files中指定。
一般帮助文件是以HLP和CNT格式提供。
这些区段内容如下:
l Options:显示你能在帮助文件中修改编译选项的多表对话框。可以指定是否压缩
帮助文件、指定Context内容、指定帮助窗口的标题以及指定文件所在的路径等等。
l Files:指定在帮助文件中用到的源文件的位置.
l Windows:定义在帮助文件中显示窗口的大小、位置、属性等.
l Bitmaps:指定在帮助文件中用到的位图文件路径.
l Map:设置上下文相关的帮助的关联主题ID值,使帮助文件中的索引Context值
与程序中所指定的数值相对应。帮助上下文ID是一个数字,与每个主题相关联,
在帮助文件中是唯一的。上下文关联的帮助使用户只需单击就能跳转到合适的帮助
主题。
l Alias:设置帮助主题ID值的别名.
l Config:当WinHelp打开时,定义一个或多个运行的WinHelp按钮控制(宏)。
l Data Files:定义存储在帮助文件内部的列表文件系统,这文件是只读的DLL文
件.
2、热点编辑器SHED
SHED的功能就是通过打开一般的位图文件(*.BMP、*.DIB、*.WMF),经过区域的规
划以及参数设计,就可以显示帮助文件的内容,让用户单击各个区域连接相关的帮
助。存盘后的图形文件的扩展名为SHG。
打开文件后,用鼠标拖出一个区域,单击鼠标右键设置参数:
l Context String:设置区域的文章关联字符串车;
l Type:设置本区域连接的方式;
l Attribute:设置是否要突出显示该区域。
弄清楚上述帮助文件导航的标准方法和用以描述帮助系统各种各样元素的术语后,
将很轻松制作出更健全的、特色更丰富的帮助系统。
                 
*****************************************************
    
                      VisualBasic窗体背景花纹的实现
 
                     山东省德州市德城区工商银行胥智强
                            德州市立医院曹秀英

    我们在开发软件过程中,为提高软件的商品化程度,感觉到界面的美观程度
是一个软件能否获得成功的一个重要因素,我们仔细研究了一些成功的商品化软
件,从这些软件上可以看到,程序窗口背景能显示出非常美丽的、富有立体感的
花纹。而采用VisualBasic3.0或4.0进行窗体设计,若只按照系统提供的功能,
只能从有限的几种颜色中选择一种颜色或采用程序绘制一些简单的线条。而想实
现立体感很强的纹理图案,一般只能采用窗体的PICTURE属性调用位图文件,使
用这种方法实现有许多缺点,其一是窗体大小受位图大小的限制,调整起来麻烦,
不具有通用性和灵活性;其二是浪费资源,因为花纹图案基本上是重复图案,采
用与窗体同样大小的位图是一种浪费。

    下面介绍一种窗体背景花纹实现的方法。在窗体上建立一个网格控件,设定
网格行不可见,去掉固定行和固定列,用程序实现网格控件与窗体同样大小,并
随窗体大小的改变而改变。然后设计一个花纹图案,形成BMP位图文件(本文程序
使用文件Pict1.bmp),或者从其它图象中截取一段图案,也可以利用Windows系统
提供的图案(如c:\windows\Tiles.bmp),将其调入Picture控件。设定网格的每
个单元与该图案大小相同,使单元的数量正好覆盖整个窗体背景,再将所有单元
均显示该图案。通过子程序Backpict()实现以上过程,不论图案大小、窗体大小,
程序都能自动调整网格控件大小和网格单元大小及单元数量。该程序在Visual
Basic4.0上调试成功。

1.新建窗体Form1,属性如下:
Caption=“背景花纹的实现”
Borderstyle=3(无最大、最小化按钮)

2.建网格控件Grid1,它的位置和大小将在程序中设置(与Form1同样大),属性为:
Enabled=False(焦点不会落在网格控件Grid1上)
Fillstyle=1(改变所有单元Text特性)
Fixedcols=0(无固定行)
Fixedrows=0(无固定列)
Gridlines=False(网格行不可见),
Visible=True

3.建立图象控件Picture1,程序运行时将背景花纹基本图案放入其中,属性为
Visible=False(不可见)
Autosize=True(自动调整大小)

4.控件中加入Sheridan3DControls,选取其中的三维命令按钮SSCommand,建立两个
按钮
SSCommand1.Caption=“退出”
SSCommand2.Caption=“更换背景”(演示不同的背景图案)

它们的属性Picture可调用与背景相同或不同的图案,如果使用普通的命令按钮控
件Command也可,只是命令按钮无背景图案。

5.建立背景图案形成子程序:

		Dim pictfile As String  '位图文件名
		Dim FILEPATH As String  ' 文件路径
Sub Backpict(pictfile)	
picture1.ScaleMode = 3
Form1.ScaleMode = 3
picture1.Picture = LoadPicture(pictfile)
'网格控件覆盖整个窗体背景
grid1.Top = -1
grid1.Left = -1
grid1.Width = Width
grid1.Height = Height
grid1.Cols=Int(Form1.ScaleWidth/picture1.ScaleWidth) + 1
grid1.Rows=Int(Form1.ScaleHeight/picture1.ScaleHeight) + 1
'所有单元大小等于基本图案大小
For i = 0 To grid1.Cols - 1
For j = 0 To grid1.Rows - 1
grid1.ColWidth(i) = picture1.ScaleWidth * 15
grid1.RowHeight(j) = picture1.ScaleHeight * 15
Next j
Next I
'选定所有单元
grid1.SelStartCol = 0
grid1.SelStartRow = 0
grid1.SelEndCol = grid1.Cols - 1
grid1.SelEndRow = grid1.Rows - 1
grid1.Picture = Picture1.Picture
End Sub
       6. 窗体主程序 
Private Sub Form_Load()
Private Sub Form_Load()
 '得到运行程序路径名,路径名后带反斜杠
		If Right(App.Path, 1) <> "\" Then
        filePath = App.Path & "\"
  	Else
        filePath = App.Path
 End If
'窗体初始显示由Tiles.bmp基本图案组成的背景
pictfile = "c:\windows\Tiles.bmp"
backpict (pictfile)
End Sub
       7. 退出程序命令按钮 
  Private Sub SSCommand1_Click()
End
End Sub
       8. 演示不同的底纹图案 
  Private Sub SSCommand2_Click()
		'两种背景图案交替演示
 If pictfile = filePath & "Pict1.bmp" Then
pictfile = "c:\windows\Tiles.bmp"
 Else
pictfile = filePath & "Pict1.bmp"
     End If
 Backpict (pictfile)
End Sub

*****************************************************
*****************************************************

<疑难杂症>

012.mailto: yaozheng@kali.com.cn?subject=012
我想请教两个问题:
1.在用LOCAL SQL 语句时,若多个段字进行算术运算,而只要任意
字段中含有NULL值,则该计算字段的结果为NULL。请问:如何能在
计算时把NULL值当作0看待。(注:用CAST()转换好象不行)
而在TTABLE构件中ONFIELDUPDATE 事件中键入: 
TABLE1.FIELDBYNAME('AAA').ASFLOAT+TABLE1.FIELDBYNAME('BBB').ASFLOAT
则不存在上述问题。
2请问在局域网中如何判断当前计算机(WIN9X)是否已经连接到NT 服务器?
jiuyi@163.net

013.mailto: yaozheng@kali.com.cn?subject=013
小弟现有一问题,一直困绕着我,若您能帮我解决,小弟将感激涕零!
问题为:在VB5中,如何将串口控制在9位传输模式?.望不吝赐教! 
晓晓 lxh_ishere@163.net

014.mailto: yaozheng@kali.com.cn?subject=014
请问如何在工程中用.INL文件。此文件是不是在用ClassWizard增加
新类时,设定用线上函数,由ClassWizard产生。还是必须自己定义
出。比如VC5.0中的DaoView例子所派生的CTreeViewEx类。谢谢!
zhang@hidec.com

015.mailto: yaozheng@kali.com.cn?subject=015
现在有一个问题请教:指定一个数,在另外12个数中,求出最接近
(近似等于)这个数的组合,在Foxpro中如何实现?急!请教我一
个算法!多谢!
lzyn98@263.net

如果您在编程的时候有什么疑难问题,就请把问题发往yaozheng@kali.com.cn
主题为“提问”,我会把问题放在杂志上的,希望编程高手们能不吝赐教,也
希望这个栏目能成为大家交流的场所。

*****************************************************
*****************************************************

<本周主页更新>

6月12日更新【友情链接】加入程序员加油站
           【鬼话连篇】又加入三篇故事,喜欢您有空来坐坐。
            自来凉的教室  两个呼吸声  操场练兵
6月9日更新 【鬼话连篇】新鲜加入三篇鬼故事
            深夜出丧  夜间部的学姐   从省道回台南时.....
6月8日更新 【下载专区】编程工具加入当前热门软件,吐血推荐
            Borland C++Builder 4 Enterprise Edition!!非本地下载
           (100多兆,放在本地下载非吐血不可),想下载的朋
            友先掂量一下自己的钱包。
6月7日更新 【友情链接】加入了启航站:Delphi爱好者的启航站
           【酷站推荐】最新推荐几个编程网站。
           《编程技术》第10、11期杂志HTML版本上网。
6月6日更新  修正了一些页面的代码,使用Netscape Communication  
            4.0以上版本的朋友可以正常浏览本站。
6月5日更新  本站隆重推出主打子栏目“鬼话连篇”,欢迎光临。
           【下载专区】编程工具加入LCC-WIN32 version2.5下载。

主页地址:http://person.zj.cninfo.net/~yao (169、163均可访问)
*****************************************************
*****************************************************

<编者的话>


本刊已加入【CHINA-EZL】中国电子杂志联盟
联盟主页地址 http://china-ezl.yeah.net

如果您觉得这份刊物还不错的话,欢迎把它介绍给您的朋友.
不知道您看了这期刊物有什么想法或者是意见,欢迎向我提出来.
本人感激不尽,我的联系方法如下:
E-mail:yaozheng@kali.com.cn
本刊主页: http://yaozheng.soim.com
          http://person.zj.cninfo.net/~yao
         
                                                
<<编程技术>>订阅方法:

请到本刊主页进行订退工作 http://person.zj.cninfo.net/~yao

投稿:向yaozheng@kali.com.cn发封邮件     主题:投稿
提问:向yaozheng@kali.com.cn发封邮件     主题:提问

**********************THE END************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -