Có nhiều cách để sử dụng tập tin trợ giúp trong VB6:
1. Để việc nhấn phím F1 sẽ hiển thị tập tin trợ giúp, trong thủ tục xử lý tình huống Load của Form chính, bạn có thể gán tên tập tin trợ giúp cho thuộc tính HelpFile của đối tượng App như sau:
App.HelpFile = App.Path & “ReadmeVB.HTM”
App.HelpFile = App.Path & “VBCON98.CHM”
App.HelpFile = App.Path & “KeToan.HLP”
Các tập tin trong ví dụ trên phải được đặt trong thư mục ứng dụng. Mỗi dạng tập tin cần có một tiện ích để mở. Dạng HTM và HLP cần chương trình WINHELP.EXE. Dạng HLP hiện nay ít được dùng.
2. Để mở tập tin trợ giúp bằng lệnh VB, bạn có thể sử dụng các hàm API:
– Hàm HTMLHelp, với khai báo trong phần General Declarations của form và lệnh mở tập tin trợ giúp (giả sử đã được gán cho thuộc tính HelpFile như trên) như đoạn mã 1. Hàm này thích hợp với các tập tin HTM, CHM.
– Hàm ShellExecute với khai báo trong phần General Declarations của form và lệnh mở tập tin trợ giúp (giả sử đã được gán cho thuộc tính HelpFile như trên) như đoạn mã 2. Hàm này thích hợp với tất cả các loại tập tin.
Nếu có nhu cầu trợ giúp theo ngữ cảnh (Context-Sensitive Help), nghĩa là: đang ở form nào, text box nào,… mà nhấn phím F1 thì trợ giúp xuất hiện với nội dung phù hợp, về lý thuyết bạn phải xây dựng tập tin CHM công phu hơn với việc đặt tên các mục (gọi là ContextID) thật chi tiết. Sau đó, để liên kết một đối tượng (ví dụ một text box) với một mục trong tập tin trợ giúp, bạn gán thuộc tính HelpContextID của đối tượng đó bằng với ContextID của mục này.
Đoạn mã:
‘ Khai báo trong phần General Declarations của form
Private Declare Function HTMLHelp Lib “hhctrl.ocx” Alias _
“HtmlHelpA” (ByVal hwnd As Long, ByVal lpHelpFile As String, _
ByVal wCommand As Long, dwData As Any) As Long
…
‘ Lệnh mở tập tin trợ giúp
Dim ret&
‘ Hiển thị trợ giúp ở tab Contents
ret = HTMLHelp(Me.hwnd, App.HelpFile, HH_DISPLAY_TOC, ByVal 0&)
‘ Hiển thị trợ giúp ở tab Contents, và mở một topic
ret = HTMLHelp(Me.hwnd, App.HelpFile, HH_DISPLAY_TOC, _
ByVal “Topic_ViDu.HTM”)
‘ Hiển thị trợ giúp ở tab Index
ret = HTMLHelp(Me.hwnd, App.HelpFile, HH_DISPLAY_INDEX, ByVal 0&)