All Forums
 Категория Visio
 Форум Вопросы и ответы
 Обновление текста в контекстном меню
Author Previous Topic Topic Next Topic  

krys

55 Posts

Posted - 02/06/2008 :  14:16:26
Доброе время суток.
У меня такой вопрос:

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

Для этого я отлавливаю событие SelectionChanged и (помимо прочего) в ячейке visActionMenu выбранного шейпа заношу
текст необходимого сообщения.
Если шейп выбран нажатием левой кнопки мышки и лишь затем правой вызванно контекстное меню, то
я вижу ожидаемый текст.
Если же я щелкаю на шейпе сразу левой кнопкой мышки, то в контекстном
меню изненения сделанные мной не видны.

В чем может быть дело?

Tumanov

Russia
1198 Posts

Posted - 02/06/2008 :  18:20:37
Причина легко просматривается, если включить Visio Event Monitor. При нажатии правой кнопкой на неселектированном шейпе события происходят в следующей последовательности:
- MouseDown
- MouseUp
- SelectionChanged
Естественно, обработчик клика срабатывает, когда шейп еще не успел селектироваться.
Go to Top of Page

krys

55 Posts

Posted - 02/07/2008 :  08:36:32
а можно ли как-то обновить контекстое меню, так что бы
изменения всё-таки были видны?
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 02/07/2008 :  15:50:24
Да сама задача несколько необычна... Таких ситуаций надо бы избегать еще не прикладном уровне.
Но если уж никуда не денешься, то можно попробовать самому селектировать шейп по событию MouseDown. Может и получится...
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)