Hyperbase
Под гипербазой понимается совокупность графических и текстовых страниц, связанных друг с другом посредством логических связей (ссылок).
В качестве страниц могут выступать:
• графические файлы в vdr формате;
• схемы имиджей;
• сгенерированные моделями в процессе работы изображения.
Функционирование гипербазы подразумевает автоматизированный переход между различными страницами.
При нажатии мышкой на графический объект происходит выполнение действия, ассоциированного с выбранным объектом.
Возможны следующие действия:
Ничего |
Не выполняется никаких действий (используется в целях тестирования). |
Открыть новое окно |
Создается новое окно, содержащее требуемое изображение. Если окно с таким именем уже есть, то его содержимое будет замещено. Замещение может осуществиться: • мгновенно; • с использованием какого-нибудь эффекта. |
Запустить Windows приложения |
Запускается Windows приложение. |
Загрузить новый проект |
Загружается новый проект и ему передается управление. После завершения работы подпроекта. |
Выполнить системную команду |
Список доступных в настоящий момент команд, перечислен в списке. |
Для того, чтобы создать гипербазу, Вы должны либо нарисовать новые страницы, либо использовать уже существующие. Эти страницы могут быть, например, отдельными страницами какого-либо учебника, проекта, документа. Затем, в тех графических объектах, которые будут являться ссылками, следует указать действия, осуществляемые при выборе их мышкой. Эти свойства указываются в закладке Гипербаза в диалоге двухмерного объекта. Самым распространенным действием является открыть новое окно. В этом случае появляется изображение новой страницы. Окно, в котором будет показано изображение, определяется соответствующей строкой в закладке. Если имя не указывается, то используется имя по умолчанию: для MDI окон “MainWindow” и “@PopupWindow” для всплывающих (Popup) окон. Если такое окно существует, то его содержимое будет замещено новым.
Самое первое окно необходимо открыть из модели. Для этой цели можно использовать либо имидж из системной библиотеки, либо функцию.
Механизм поддержки гипербазы активен только во время работы модели.
Работа с несколькими проектами.
Вместо перехода на новое изображение можно использовать возможность запуска Windows приложения. В качестве этого приложения может выступать также сам Stratum, у которого в качестве параметра используется имя другого проекта. В данном случае в специальном месте можно запускать динамические приложения. Однако такой подход отнимает много ресурсов у системы и требует большого времени на загрузку. Поэтому рекомендуется использовать режим Загрузка нового проекта.
Загрузка нового проекта подразумевает обычную загрузку нового проекта без выгрузки текущего. Новый проект становится текущим и запускается. В дальнейшем все действия будут осуществляться с новым проектом. Возврат к предыдущему проекту осуществляется по кнопке .
Особенности.
• Не должно быть пересечений по подключаемым библиотекам. Если подпроекты находятся в подкаталогах главного проекта, то следует в свойствах основного проекта отменить рекурсивное сканирование библиотек (в свойствах проекта).
• Заранее учитывайте имена окон, номера матриц и так далее, чтобы проекты могли функционировать должным образом.
Сообщения, используемые при работе с гипербазой.
WM_HYPERJUMP |
STRING _Target что открыто в этом окне STRING _Window имя окна |
WM_SPACEINIT |
HANDLE _hSpace дескриптор нового пространства. STRING _WindowName имя окна STRING _Target что открыто в этом окне. |
WM_SPACEDONE |
нет параметров. |
Сообщение WM_HYPERJUMP посылается имиджу, имя которого задано в соответствующем поле закладки “Гипербаза”.
Сообщение WM_SPACEDONE посылается перед тем, как пространство будет уничтожено.
Сообщение WM_SPACEINIT посылается после того, как пространство было создано.
Для получения двух последних сообщений необходимо зарегистрироваться на их получение.
Покажем временную диаграмму работы.
1. Создание окна.
2. Регистрация :
RegisterObjectRegisterObject (~hSpace,hSpace,"",WM_SPACEDONE,8)
RegisterObject(~hSpace,hSpace,"",WM_SPACEINIT,8)
3. Работа...
4. Нажатие на переход:
5. Приход сообщения: WM_SPACEDONE.
6. Удаление пространства.
7. Создание нового в том же окне.
8. Приход сообщения: WM_SPACEINIT.
9. Отрисовка изменений.
10. Работа
...
В том случае, когда обработка сообщений мышки перехватывается моделью, то автоматической активации ссылки не произойдет, и модель должна сама позаботиться о выполнении соответствующих действий. Для этого существует стандартная функция StdHyperJumpStdHyperJump, которая выполняет те же действия, которые происходят при нажатии мышкой на ссылку.
В данном случае активация ссылки может произойти, например, после отпускания мышки.
Для автоматической генерации гиперcсылок или их модификации можно использовать функцию SetHyperJump2dSetHyperJump2d.
Created with the Personal Edition of HelpNDoc: Upgrade your help files and your workflow with HelpNDoc's WinHelp HLP to CHM conversion