Author |
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 Естественно, обработчик клика срабатывает, когда шейп еще не успел селектироваться. |
|
|
krys
55 Posts |
Posted - 02/07/2008 : 08:36:32
|
а можно ли как-то обновить контекстое меню, так что бы изменения всё-таки были видны? |
|
|
Tumanov
Russia
1198 Posts |
Posted - 02/07/2008 : 15:50:24
|
Да сама задача несколько необычна... Таких ситуаций надо бы избегать еще не прикладном уровне. Но если уж никуда не денешься, то можно попробовать самому селектировать шейп по событию MouseDown. Может и получится... |
|
|
|
Topic |
|