События для клика кнопки мышки

Автор p3452, 27.11.21, 12:48:29

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

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

p3452

Можно подписаться на события связанные с клавишами клавиатуры (IKompasObjectNotify), а как обработать факт нажатия кнопки мышки (правая кнопка в окне 3D модели)?

P/S: желательно без создания Хуков.

По событиям:
 - KeyDown - Клавиша нажата и удерживается нажатой
 - KeyPress - Одиночное нажатие клавиши
 - KeyUp - Клавиша отпущена

p3452

Цитата: Sabahs от 27.11.21, 13:03:40По событиям:
 - KeyDown - Клавиша нажата и удерживается нажатой
 - KeyPress - Одиночное нажатие клавиши
 - KeyUp - Клавиша отпущена
Цитата: p3452 от 27.11.21, 12:48:29как обработать факт нажатия кнопки мышки (правая кнопка в окне 3D модели)?
Хотите сказать, что ими же можно обработать и мышку?

ksDocumentFrameNotify:
 - MouseDblClick - Двойной щелчок кнопкой мыши
 - MouseDown - Нажатие кнопки мыши
 - MouseMove - Перемещение мыши
 - MouseUp - Отпускание кнопки мыши
+ Благодарностей: 1

p3452

Благодарю!
(Как то пропустил эту информацию  :embarrassed: )

p3452

Не вполне доволен результатом, в связи с этим новый вопрос - как подавить, отключить стандартную реакцию на Событие???

Идея была такая, на сочетание клавиш Ctrl+ПКМ выводить свое контекстное меню, но получается, что после отработки нашего обработчика отрабатывает еще и стандартный:
01.png
/// frMouseDown - Нажатие кнопки мыши
public bool MouseDown(short nButton, short nShiftState, int x, int y)
{
    bool fl_ret = true;
    if (nButton == 2 && nShiftState == 2) // Ctrl + ПКМ
    {
string st = string.Format("MouseDown\nnButton = {0}\nnShiftState = {1}\nX = {2}\nY = {3}", nButton, nShiftState, x, y);
MessageBox.Show(st);
fl_ret = false;
    }
    return fl_ret;
}
Как от этого избавится?


p3452

В KGAX такое возможно, судя по Справке SDK
02.png
а в Компас как реализовать?
Почему возвращаемое значение игнорируется ("не учитывается")?