• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Вызов контекстно-зависимой справки

Автор bbb, 21.06.18, 09:11:54

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

bbb

Добавил функцию Libraryhelpfile в которой указал имя файла справки chm, файл справки лежит рядом с rtw, но при нажатии на F1 вызывается справка Компаса. Куда и в каком виде в chm добавить id команд модуля?


bbb

Цитата: Sabahs от 21.06.18, 09:41:17
ksOpenHelpFileW
Непонятно как этим пользоваться, эта функция насколько я понимаю просто позволяет открыть файл справки. А я хочу сделать чтобы моя справка вызывалась по нажатию на кнопку F1 в зависимости от контекста.

Так, приходит событие от кнопки, Вы вызываете нужный раздел, подписываетесь на события IKompasObjectNotify.
Я у себя, вызываю по событию нажатия кнопки.

bbb

Я хочу сделать как написано в SDK, без подписывания на события нажатия кнопок, так можно сделать?

Правда, так удобнее читать?
Так и прописывайте в файле справки нужные идентификаторы, мне лично удобнее работать с событиями.

bbb

Вопрос изначально и был в том как прописать нужные идентификаторы в файле справки. И почему вообще не открывается и не выдает сообщение о том что не найден раздел в моей справке, а вместо этого открывается стандартная справка Компаса.

А по поводу удобства чтения, то извините нет интернета на компьютере где открыта справка и нет возможности подключить к нему телефон

21.06.18, 11:19:23 #7 Последнее редактирование: 21.06.18, 11:32:42 от Sabahs
У меня данный способ из SDK, тоже не работает, возможно ошибка, возможно нужно ресурсах прописывать, да и функцией ksOpenHelpFileW удобнее, задал в не какой раздел показать.
В файл справки, судя по описанию передаётся идентификатор выполняемой команды, там должен быть соответствующий раздел с таким ID, у меня по факту команда не выполняется, поэтому тоже может не работать.

bbb

У меня есть несколько команд у библиотеки, я хочу сделать чтобы при выборе команды (один клик мышкой, чтобы не выполнить команду, а просто выбрать) при нажатии на F1 вызывался нужный раздел из справки. Где мне подписываться на событие нажатия кнопки 'F1' и вызывать ksOpenHelpFile?  И это же сломает вызов справки Компаса...

Подписка выполняется в функции LibInterfaceNotifyEntry, чтобы не ломать справку Компаса, нужно следить при обработки события нажатия и отпускания кнопки, что активно, Компас или команда библиотеки, код кнопки передаётся в событие, а там решаете сами, передавать код Компасу или сказать, что ничего не нажимали.

PS

В принципе подписываться не обязательно, Нужно обрабатывать в своей программе нажатие кнопки Справка (F1) на спецпанели. Если интересует конкретно текст вызова, могу вечером прикрепить.

Пока, топик стартер не сказал, что у него есть спец панель, да и вообще о библиотеке ноль информации.
PS. Чтобы обработать F1, в любом случае нужно обработать событие.
+ Благодарностей: 1

bbb

Цитата: PS от 21.06.18, 12:12:09
В принципе подписываться не обязательно, Нужно обрабатывать в своей программе нажатие кнопки Справка (F1) на спецпанели. Если интересует конкретно текст вызова, могу вечером прикрепить.
Интересует. О какой спецпанели идёт речь? Модуль подключаю выбираю режим открытия "Панель" вы об этом? И у меня файл справки в формате chm, ksOpenHelpFile такой может открыть или только hlp?

PS

Цитата: Sabahs от 21.06.18, 12:25:31
PS. Чтобы обработать F1, в любом случае нужно обработать событие.
Да событие нужно, см. 158 справка  по API. Будет обработано и нажатие F1.
На 159 обработка вызова справки в ButtonClick и непосредственно вызов справки.

bbb

Спецпанель я так понял это панель свойств и ButtonClick это нажатие кнопки на панели свойств, мне не это нужно...

333

Для вызова справки по F1 на панелях библиотеки нужно в справку добавить разделы с номером команды
При работе библиотечных процессов библиотека может выдать сама нужную справку

Цитата: bbb от 21.06.18, 17:03:30
Спецпанель я так понял это панель свойств и ButtonClick это нажатие кнопки на панели свойств, мне не это нужно...
Вам нужно:
- [ksKompasObjectNotify, IKompasObjectNotify].KeyDown - клавиша нажата и удерживается нажатой;
- [ksKompasObjectNotify, IKompasObjectNotify].KeyPress - одиночное нажатие клавиши;
- [ksKompasObjectNotify, IKompasObjectNotify].KeyUp - клавиша отпущена.
Что использовать, решать Вам.