21.7. МАКРОКОМАНДЫ WINHELP
Справочная служба Windows 32 - WinHelp имеет встроенные макрокоманды, которые доступны из справочной службы программы. Макрокоманды могут выполняться в следующих случаях:
В этом разделе описываются некоторые часто используемые макрокоманды WinHelp, для удобства разделенные по функциональному назначению. Полное описание всех макрокоманд вы найдете в справочной службе MS HW. Формат определения макрокоманд соответствует формату определения функций в языке С. Если макрокоманда не имеет параметров обращения, за ее именем требуется задать пару пустых скобок так, как это указано ниже в описании макрокоманд.
Макрокоманда |
Назначение |
Управление инструментальными кнопками |
|
Back() |
Соответствует нажатию кнопки назад. Идентификатор кнопки (id) - btn back |
BackFlush О |
Очищает список предыдущих разделов кнопки Назад |
BrowsButtons () ChangeButtonBuilding(ID,macro) ChangeEnable(ID,macro) CreateButton(ID,title,macro) |
Вставляет кнопки последовательного просмотра связанных разделов Для кнопки id определяет макрокоманду macro то же, что ChangeButtonBuilding, дополниттельно отменяет запрет кнопки Создает кнопку с идентификатором id и надписью title; назначает кнопке макрокоманду macro |
DestroyButton (ID) DisableButton(ID) EnableButton(ID) Contents ( )
|
Удаляет кнопку с идентификатором id Запрещает выбор кнопки с идентификатором id Разрешает выбор кнопки с идентификатором id Соответствует нажатию кнопки содержание. Id кнопки-btn contents |
FindO
|
Соответствует нажатию кнопки Поиск. id кнопки-btn find |
Finder () |
Соответствует нажатию кнопки Разделы. id |
Menu ()
|
кнопки - btntopics Соответствует нажатию кнопки параметры Id кнопки - btn menu |
Next() |
Соответствует нажатию кнопки >.. id кнопки -btn next |
Prev() |
Соответствует нажатию кнопки <. id кнопки -btn previous |
Print () |
Соответствует нажатию кнопки Печать. id |
Search () |
кнопки-btn print Соответствует нажатию кнопки Указатель. id кнопки-btn search |
Макрокоманды переходов
ALink(keyword[,type[,ID[.win name] ] ] ) |
Переход по ключевому слову keyword из дополнительной таблицы слов на раздел с идентифи катором id. winname - тип окна для показа раздела. Параметр type определяет дополнительное действие (см. ниже примечание 1) |
JumpContents(filename) |
Переход на умалчиваемый раздел, определенный для файла filename |
JumpContext([[filename>]winname, ]NID) |
Переход на раздел с числовым идентификатором nid, который указан в секции map |
JumpHash([[filename>]winname,] HID) |
Переход на раздел с внутренним числовым идентификатором hid (см. примечание 2) |
JumpID([[filename>]winname,]ID) |
Переход на раздел с идентификатором id |
JumpKeyword([filename,]keyword)
|
Переход на раздел по ключевому слову keyword В файле filename |
KLink(keyword[,type[,ID[,winname] ] ]) |
Переход по ключевому слову keyword на раздел с идентификатором id. winname - тип окна для показа раздела. Параметр type определяет дополнительное действие (см. ниже примечание 1) |
PopupContext([filename,]NID)
|
Переход на раздел с числовым идентификатором nid, который указан в секции map. Показывает раздел в окне пояснений |
PopupHash([filename,]HID)
|
Переход на раздел с внутренним числовым идентификатором hid (см. примечание 2). Показывает раздел в окне пояснений |
PopupID([filename,]ID) SetContents(filename,ID) TestALink("keyword") TestKLink("keyword") UpdateWindow([filename>]win-name, ID) |
Переход на раздел с идентификатором id. Показывает раздел в окне пояснений Определяет раздел с идентификатором id как содержание справочной службы Выполняет ALink для ключевого слова keyword и возвращает 1, если переход возможен, или 0, если ни один раздел не найден Выполняет KLink для ключевого слова keyword и возвращает 1, если переход возможен, или 0, если ни один раздел не найден То же, что JumpiD, но активным остается прежнее окно |
Работа с меню
About () |
Эквивалент выбору опции Справка | версия |
AppendItem(menuID,itemID, Title,macro) |
Вставляет опцию с надписью Title в подменю menuiD и связывает с ней макрокоманду macro itemID - идентификатор новой опции |
Annotate () |
Эквивалент выбору опции правка Заметки. |
BookmarkDefine ()
|
Эквивалент выбору опции Закладка | Определить |
ChangeItemBinding(itemIDmacro) |
Назначает опции с идентификатором itemID макрокоманду macro |
Checkltem(itemID) |
Помещает значок отметки рядом с опцией itemID |
CopyTopic () |
Эквивалент выбору опции Правка Копировать |
Deleteltem(itemID) |
Удаляет опцию itemID |
Disableltem(itemID) |
Запрещает выбор опции itemid |
Enableltem(itemID) |
Разрешает выбор опции itemid |
Exit() |
Эквивалент выбору опции Файл | выход |
FileOpen () |
Эквивалент выбору опции Файл | Открыть |
FloatingMenu()
|
Вывод вспомогательного меню (эквивалент щелчку правой кнопкой мыши) |
HelpOnTopO |
Эквивалент выбору опции Параметры | Размещение окна | Поверх остальных |
Histopy() |
Эквивалент выбору опции параметры | Показать окно хронологии |
InitMPrint() InsertItem(menuID,itemID, Title,macro,position) |
Вставляет элемент меню itemID в меню menuiD
|
ResetMenu () |
Устанавливает умалчиваемое меню |
Команды условного перехода
IFThen(macro,macrol) |
Если макрокоманда выполняет macrol иначе ничего не делает |
IFThenElse(macro,macrol,macro2) |
Если макрокоманда macro возвращает 1, выполняет macrol иначе выполняет macro2 |
Not(macro) macro возвращает 1, |
Инвертирует результат, возвращаемый macro |
Примечание 1.
Параметр type в командах поиска ALink, KLink может иметь несколько следующих возможных значений, разделенных пробелом:
0 |
Выводится окно с названиями наиденных разделов |
1 |
Если найден только один раздел, он показывается в справочном окне |
2 |
Если разделы находятся в разных файлах, в окне поиска указываются имена файлов вместе с названиями разделов |
4 |
Если найден хотя бы один раздел, макрокоманда возвращает 1 |
Примечание 2.
Внутренний числовой идентификатор создается компилятором по идентификатору раздела. Его можно увидеть в окне File | Report после щелчка по кнопке Report при установленном переключателе Hash number .