Событие двойного щелчка на фигуре Visio - PullRequest
1 голос
/ 10 августа 2011

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

Любое предложение очень приветствуется. Большое спасибо.

P.S. Я использую C # + Visio 2007 SDK.

1 Ответ

1 голос
/ 15 августа 2011

Я не уверен, что в API Visio доступно событие двойного щелчка. Я никогда не видел ни одного. Однако вы можете настроить форму, чтобы сообщить о двойном щелчке какой-либо процедуре кода через окно формы. Чтобы попасть туда, выберите фигуру и перейдите в Window-> Show Shapesheet, и вы увидите окно, похожее на электронную таблицу, которое описывает практически все, что касается формы.

Должен быть раздел «События» (если не щелкнуть правой кнопкой мыши в серой области, выбрать «вставить раздел» и выбрать его), где вы можете указать функцию формы в ячейке EventDblClick, которая будет вызываться при двойном щелчке по этой форме. Вы бы использовали что-то вроде CALLTHIS или RUNADDON, чтобы получить код, который вы хотите выполнить.

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

Вы также можете наблюдать за событием MouseUp в активном объекте Visio.Window, и если в течение некоторого промежутка времени будет два указателя мыши, посчитайте это как двойной щелчок ...

Могут быть и другие пути, но я не знаю их.

...