На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Работа со справкой .сhm

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
Работа со справкой .сhm, добавление справки к прикладной задаче, PanTask
 
Добрый день!
Подскажите пожалуйста, пытаюсь в интерактивной задаче к "Панорама", добавить справку. Хотелось бы чтобы по нажатию на кнопку "Что это?" открывалась соответствующая тема в справке, но почему-то при выборе данного режима и нажатии на кнопки моей панели, открывается первая страница справки. На (рис.1) в программе добавляю идентификаторы на разделы справки, рис. 2- проект справки в HTML Help Workshop. Не могли бы вы подсказать в чем может быть дело?
111.PNG (20.11 КБ)
2.PNG (50.75 КБ)
 
CheckAction - это макрос для вызова класса обработчика команды (кнопки).
В нем можно указать идентификатор раздела файла chm приложения - panorama.chm.

Чтобы указать идентификатор из другого файла chm можно применить другой макрос:

CheckActionEx(comid,actiontype,topic,helpname),

в котором можно указать имя файла chm.
 
Здравствуйте, спасибо. Почему-то с использованием макроса CheckActionEx также всегда открывается первая страница справки. Добилась открытия соответствующих кнопкам тем с помощью макроса  CheckActionUn, но все же хотелось бы узнать почему с CheckActionEx не вышло?
 
Предлагаем либо добавить новый макрос в pantask.h:
Код
#define CheckActionPro(comid,actiontype,topic,helpname) \
    case comid :                                \
      if (ActionRun == 0)                       \
        return (HMAPACTION)1;                   \
      if (ActionRun == -1)                      \
        { HelpExecLang(helpname, topic);        \
          return (HMAPACTION)0;}                \
      try                                       \
       {                                        \
         TPanAction * act =                     \
              new actiontype(this,comid);       \
         if (act->GetActionHandle() == 0)       \
           {delete act;return (HMAPACTION)0;}   \
         return act->GetActionHandle();         \
       }                                        \
      catch(...)                                \
       {                                        \
         ::MessageBoxA(0,                       \
          "Application error", Name(),          \
           MB_OK | MB_ICONSTOP);                \
       }                                        \
      break
в этом случае topic - это строковый идентификатор раздела из файла chm.
Либо переопределить виртуальную функцию:

 // Вызвать справочную систему Help
 virtual void ViewHelp(int topic,const char * helpname = 0);

в Вашем производном от TPanTask классе и вызывать help с требуемым идентификатором раздела (строковым).

Базовая функция ViewHelp из класса TPanTask перекодирует числовой идентификатор в строку по таблице задач ГИС Панорама,
там нет Вашего идентификатора.
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности