Использование справки в VB
Наверняка любой программист хочет, чтобы его программы были удобны и понятны для любого пользователя, даже для того кто пока ещё долго целится мышкой в оконный крестик. Этого можно добиться используя Windows-справку. Существует много способов подключить справку к программе на VB. О нескольких из них вы узнаете из этой статьи.
Подключение справки через Windows-API
Файл Windows-справки, естественно можно подключить через Windows-API. Для этого служит функция WinHelp, расположенная в библиотеке User32. Объявляется эта функция следующим образом:
Declare Function WinHelp Lib "user32" Alias "WinHelpA" ( _ ByVal hwnd As Long, _ ByVal lpHelpFile As String, _ ByVal wCommand As Long, _ ByVal dwData As Long) As Long 'Не забывайте, что если вы объявляете функцию внутри формы, 'необходимо добавлять Private.
Объявив функцию можно приступать к её использованию (замечу, что эта функция должна возвращать значение). Параметры функции расшифровываются следующим образом:
- hwnd - Handle формы, в VB его можно получить "Me.hWnd"
- lpHelpFile-Понятно, что это имя файла справки, путь должен быть указан точно.
- dwData - Значение этого параметра зависит от значения wCommand
- wCommand - Параметр определяющий, что именно будет выведено на экран
Именно wCommand управляет выводом справки. Его значения могут быть различны, но в основном они укладываются в таблицу:
HELP_CONTEXT = &H1 | Выводит раздел, номер которого указан в dwData |
HELP_QUIT = &H2 | Закрывает указанный Help-файл |
HELP_INDEX = &H3 | Выводит предметный указатель справочного файла |
HELP_FINDER = &HB | Выводит окно Help Topics и активирует вкладку выбранную в прошлый раз. |
HELP_TAB = &HF | Выводит окно Help Topics и активирует вкладку определённую в dwData(0 - Contents, -2 - Index, -1 - Find). |
HELP_CONTENTS = &H3& | Выводит раздел Contents. Необходима для совместимости с болле ранними версиями Help-файлов |
HELP_HELPONHELP = &H4 | Выводит справку о справке. |
HELP_SETINDEX = &H5 | Устанавдивает текущий индекс, для многоиндексовой справочной системы. |
HELP_SETCONTENTS = &H5& | Делает раздел, указанный в dwData, оглавлением(Contents). |
HELP_CONTEXTPOPUP = &H8& | Отображает раздел идентифицированный номером контекста. |
HELP_FORCEFILE = &H9& | Создает справочный файл, в котором текст отображается лишь одним шрифтом. |
HELP_HELPKEY = &H101& | Отображает справку по конкретному ключевому слову. |
HELP_COMMAND = &H102& | Отображает справку по конкретной команде. |
HELP_PARTIALKEY = &H105& | Вызывает систему поиска в Windows Help. |
Прдключение справки через Common Dialog
Кроме Windows API можно использовать элемент управления
Common Dialog. Он позволяет без особых усилий работать с файлами справки.
Работа с ним не требует никаих объяснений, достаточно только добавить на форму
Common Dialog (Если его нет в инструментарии(ToolBox) нажмите CTRL+T, или выберите
Components в меню Project, и поищите в списке), присвоить ему имя cdlCommon, и скопировать в форму следующий код:
Option Explicit Private Sub Form_Load() cdlCommon.HelpFile = "Help\vb5.hlp" End Sub Private Sub Form_MouseMove( _ Button As Integer, _ Shift As Integer, _ X As Single, _ Y As Single) If Button = 1 Then cdlCommon.HelpCommand = cdlHelpHelpOnHelp cdlCommon.ShowHelp End If If Button = 2 Then cdlCommon.HelpCommand = cdlHelpContext cdlCommon.HelpContext = 700 cdlCommon.ShowHelp End If End Sub
К слову скажу, что вместо констант Common Dialog, можно использовать конcтанты из таблицы приведённой выше.
Использование свойства HelpContextID
Последним, рассмотренным мной способом подключения файла справки к программе на VB будет использование свойства HelpContextID. Само по себе это свойство отвечает за вывод определённого раздела справки при нажатии клавиши F1, когда в фокусе находится определённый элемент. Но с помощью нехитрого трюка можно "нажимать" F1 программно. Всё объяснит следующий код. Просто вставьте его в пустую форму:
Private Sub Form_Click() Me.HelpContextID = 700 SendKeys "{F1}" End Sub Private Sub Form_Load() App.HelpFile = "help\vb5.hlp" End Sub
Итак мы рассмотрели три способа подключения файла справки к программе на VB. Добавлю лишь, что весь приведённый здесь код работает на моём компьютере, в Microsoft Visual Basic 5.0 Enterprise Edition .
Оставить комментарий
Комментарии
К=0, если Р< или = 100
К=1,5 , если 100<Р<150
К=2, если Р> или = 150
Пожалуйста!!!!!!!!!!!!