程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB裡實現幫助文件速成

VB裡實現幫助文件速成

編輯:VB綜合教程
----帶有幫助文件的應用程序無論對程序員還是用戶都是不同凡響的,它能節省印刷大量用戶手冊的開支,對程序員編輯修改和用戶手冊的復制保存都極為方便。幫助文件的另一個很有前景的應用是單獨作為帶有圖文信息的電子圖書發布。
  
  ----在此對幫助文件的編制及如何在程序中編程調用作一詳盡介紹。首先介紹第一部分,幫助文件的編寫。
  
  ----幫助文件的編寫步驟:
  
  先編寫存有所有幫助信息的幫助源文件RTF文件。
  
  編寫幫助項目文件HPJ文件。
  
  對HPJ文件編譯,最後生成HLP文件。
  幫助源文件RTF文件的編寫
  ----幫助源文件是存有所有幫助信息的,這是一種RTF(RichTextFormat)文件,幫助文件象一本書,由目錄及一個個章節組成,各章節之間的跳轉是由定義的熱點來完成。現在舉一具體例子(由目錄等五條信息組成)詳細說明。
  
  ----原始信息由五個章節組成:目錄、概述、說明、程序、安裝。象前面每一節的標題(“目錄”,“概述”,“說明”,“程序”,“安裝”)在RTF文件中必須以特有的腳注(即$)明確指定。對每一節還須指定其跳轉名(腳注是#,跳轉名不能是漢字),以便標識,在這我們給每一節分別取名為:contents,description,explanation,programming,setup,對每一節還可指定其搜索關鍵字(腳注是K),關鍵字可以是一個或多個,漢字和英文均可。
  
  ----具體操作如下:進入MicrosoftWord中文版,選擇:文件/新建,先輸入第一節的內容:輸入第一節的標題:“目錄”,將光標移到“目錄”的前面,選擇系統菜單的“插入”,選“腳注和尾注”,選“腳注”和“自定義標記”,輸入:$符號,這時文檔下方出現腳注編輯窗口,光標也自動落在文檔下方的腳注編輯窗口中,在光標處接著輸入這一節的標題:“目錄”,有時看不到文檔下方的腳注窗口,這只要將系統菜單中“視圖”的“腳注”選上。
  
  ----下面定義這一節的跳轉名,將光標移到“目錄”的前面,選擇系統菜單的“插入”,選“腳注和尾注”,選“腳注”和“自定義標記”,輸入:#符號,這時文檔下方出現腳注編輯窗口,光標也自動落在文檔下方的腳注編輯窗口中,在光標處接著輸入這一節的跳轉名:“contents”(有時看不到文檔下方的腳注窗口,這只要將系統菜單中“視圖”的“腳注”選上)定義這一節的搜索關健字。將光標移到“目錄”的前面,選擇系統菜單的“插入”,選“腳注和尾注”,選“腳注”和“自定義標記”,輸入:k符號,這時文檔下方出現腳注編輯窗口,光標也自動落在文檔下方的腳注編輯窗口中,在光標處接著輸入這一節的搜索關健字,搜索關健字可以是中文或英文,一個或多個,中間用分號(即;)隔開,這兒我們輸入:目錄;目次;contents。
  
  ----最後定義這一節的順序號。順序號相當於一本書中各章節的頁碼。將光標移到“目錄”的前面,選擇系統菜單的“插入”,選“腳注和尾注”,選“腳注”和“自定義標記”,輸入: 符號,這時文檔下方出現腳注編輯窗口,光標也自動落在文檔下方的腳注編輯窗口中,在光標處接著輸入這一節順序號,如:0001,0002,0003等。這兒我們輸入:0001.
  
  ----這樣,第一節的腳注標記全部作完。
  
  ----第二節的腳注標記作法一樣。(第一節和第二節要有分頁符,選擇系統菜單的“插入”,選“分隔符”,“分頁符”)。
  
  ----在幫助文件中,當用戶在按了綠色的跳轉文本,就應該跳轉到對應的章節,如何定義一個熱點跳轉呢?因為我們已經定義了第一節的跳轉名,只要將跳轉文本與要跳轉到的那一節的跳轉名聯系起來,跳轉文本在RTF文件中是帶雙下劃線的文本,以上例操作如下:
  
  ----選擇系統菜單上的“格式”/“字體”,選擇“字體”/“下劃線”,選“雙線”,然後開始輸入熱點文本,這兒我們輸入“概述”,輸入完熱點文本,清除雙下劃線格式,操作:選擇系統菜單上的“格式”/“字體”,選擇“字體”/“下劃線”,選“無”,清除雙下劃線格式後,緊接著選擇隱藏文本格式,輸入跳轉目的地的跳轉名,操作:選擇系統菜單上的“格式”/“字體”,選擇“字體”/“效果”,選“隱藏”,輸入跳轉目的地的跳轉名,這兒輸入“description”,輸入完清除隱藏文本格式。清除隱藏文本格式的操作:選擇系統菜單上的“格式”/“字體”,選擇“字體”/“效果”,將“隱藏”復選框除去。
  
  ----如何定義熱點彈出說明。它與以上熱點跳轉文本一樣,只不過它是帶單下劃線的文本。操作如下:選擇字符的單下劃線格式,輸入彈出式熱點文本,如上例輸入的是“單下劃線的指定說明熱點”,操作如下:選擇系統菜單上的“格式”/“字體”,選擇“字體”/“下劃線”,選“單線”,然後開始輸入熱點文本,這兒我們輸入“單下劃線的指定說明熱點”,輸入完熱點文本,清除單下劃線格式,緊接著選擇隱藏文本格式,輸入跳轉目的地的跳轉名,這兒是彈出窗口的跳轉名:這兒輸入“my_pop_up”,輸入完清除隱藏文本格式。彈出窗口一節要與其它章節用分頁符分開。只要指定跳轉名即可。
  
  ----我們經常看到的“參閱”、“seealso”彈出窗口就是這樣作出來的。
  
  ----如何對圖形指定熱點跳轉。在RTF文件中使用圖形,可以用語句:{bmc圖形文件名},bmc表示圖形放在中間,bml表示圖形放在左邊,bmr表示圖形放在右邊,圖形文件可以是一般的BMP位圖和SHG熱點跳轉圖形文件。
  
  ----如用戶在圖形某處按動時,會彈出一個說明窗口。而熱點圖形.shg文件由.bmp位圖文件通過工具軟件HotspotEditor編輯而來。HotspotEditor是隨VisualBasic(在VB的HC目錄下)和VisualFoxpro(在VFP的HELPCOMP目錄下)發布的。執行文件名是SHED.EXE。操作:運行SHED.EXE,選File/Open,裝入要用到的位圖文件。這兒用一人頭形位圖man.bmp,在圖形上拖動,產生一個個熱點,雙擊任一熱點區域,出現一對話框,只要在ContextString處輸入要跳轉或彈出目的地的跳轉名。熱點類型Type處選取Jump跳轉式或Popup彈出式。熱點區域邊框屬性Attribute選取可見Visible或不可見Invisible。在這個例子中ContextString輸入eye_popup,Type選取Popup,Attribute選取Invisible(隱去熱點區域的邊線).
  
  ----以d:winwordman.shg文件名存盤,退出SHED.EXE。
  
  ----如何產生固定的不滾動標題區域,不滾動區域,在顯示特長的信息時很有用,可這樣操作:用光標將要不滾動的區域全選上,點取系統菜單上的“格式”/“段落”,選“正文排列”,將“與下段同頁”選上。
  
  ----就這樣,幫助信息源文件所有的工作都已作完,在WORD中將文件以RTF格式存盤。下面進入幫助項目文件HPJ的編輯。
  
  建立幫助項目文件(.HPJ文件)
  以一實例說明,語句分號右邊是注解
  [OPTIONS];這一節的內容並非必須
  COMPRESS=0;指示HLP文件不壓縮
  ERRORLOG=my.err;編譯錯誤存於此文件
  REPORT=Yes;編譯時報告
  CONTENTS=contents;目錄跳轉名
  COPYRIGHT=;版權信息
  DEFFONT=,10,0;字體大小
  BMROOT=.;指示BMP文件的存放位置,
  在同一目錄下用空白或“.”否則BMROOT=Drive:Path
  HLP=.dxchlp.hlp;表明生成的幫助文件名
  [FILES];唯一重要的一節
  .Dxchlp.rtf;所用RTF文件名(包括路徑)
  ----[WINDOWS];語法Main="主窗口的標題",(窗口水平位置,垂直位置,寬度,高度),狀態,背景顏色(R,G,B),非滾動區域背景顏色(R,G,B),是否總是浮在其它窗口上面(0為False,1為True)例:
  
  ----Main=“主窗口標題”,(512,10,512,1000),0,(255,251,240),(192,192,192),0
  
  ----;語法:Second=;語法同上面主窗口,例:
  
  ----Second=“次級窗口標題”,(10,10,500,1000),0,(254,251,240),(191,192,192),1
  
  ----[CONFIG]
  
  ----BrowseButtons();加一向前向後按鈕
  
  ----其實用不著寫這麼多,最省事的幫助項目文件是這樣只有一條語句,其它全是缺省值:
  
  ----[FILES];節名稱
  
  ----Myhelp.rtf;所用RTF文件名(包括路徑,如c:winwordMyhelp.rtf)
  
  ----以上hpj文件用任何編輯器編輯後以HPJ文件存盤。
  
  對幫助項目文件HPJ進行編譯,形成HLP文件
  ----編譯要用編譯工具HC.EXE,在VB的HC目錄下有HC.EXE,在VFP的HELPCOMP目錄下有HC31.EXE和HC35.EXE,任選一個使用。操作:HC文件名,或HC31文件等,如:HC31Myhelp.hpj
  
  
  --------------------------------------------------------------------------------
  
  
  ----現在介紹第二部分,對幫助文件編程。
  
  ----幫助文件的最終目的是要應用到自己程序中。現以最常用的三種開發工具VB,VFP,DELPHI分別舉一最簡單例子。
  
  VB
  ----進入VB,選File/NewProject,出現一空白窗體Form1,加一個通用對話框CommondDialog1到Form1,點取MenuEditor,設置一菜單,一級菜單有二項:(Caption分別為:)File,Help,而File的下一級菜單Exit,Help的下一級菜單為Contents,KeyWordsSearch,About,對應的Name屬性分別為:mnuFile,mnuHelp,mnuExit,mnuContents,mnuSearch,mnuAbou。假定幫助文件是D:WINWORDDXCHLP.HLP。
  
  ----程序代碼如下:
  
  PrivateSubForm_Load()
  CommonDialog1.HelpFile="d:winworddxchlp.hlp"
  EndSub
  
  PrivateSubmnuContents_Click()
  WithCommonDialog1
  .HelpCommand=cdlHelpContents'cdlHelpContents是顯示目錄的命令
  .ShowHelp
  EndWith
  EndSub
  
  PrivateSubmnuSearch_Click()
  WithCommonDialog1
  .HelpCommand=cdlHelpKey'cdlHelpKey是顯示關健字搜索的命令
  .ShowHelp
  EndWith
  EndSub
  
  PrivateSubmnuAbout_Click()
  aboutform.Show1'以模態顯示"關於"窗口
  EndSub
  
  PrivateSubmnuExit_Click()
  End
  EndSub
  
  以上可用調用動態聯結庫的方法,代碼如下:
  (1)模塊文件:
  GlobalConstHELP_CONTENTS=&H3&
  GlobalConstHELP_KEY=&H101
  
  DeclareFunctionWinHelpLib"user32"Alias"WinHelpA"
  (ByValhwndAsLong,ByVallpHelpFileAsString,ByVal
  wCommandAsLong,ByValdwDataAsLong)AsLong'
  必須同一行;為WIN95,NT
  'DeclareFunctionWinHelpLib"User"(ByValhwndAs
  Integer,ByVallpHelpFileAsString,ByValwCommandAs
  Integer,dwDataAsAny)AsInteger'必須同一行;為WIN3.X
  (2)窗體文件
  PrivateSubForm_Load()
  App.HelpFile="d:winworddxchlp.hlp"
  EndSub
  
  PrivateSubmnuContents_Click()
  i=WinHelp(Form1.hwnd,App.HelpFile,HELP_CONTENTS,0)
  EndSub
  
  PrivateSubmnuKeySearch_Click()
  i=WinHelp(Form1.hwnd,App.HelpFile,HELP_KEY,0)
  EndSub->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved