Передвинуть меню в пределах экрана
Как перерисовать объект типа Ext.menu.Menu?
Дело в том, что если меню появляется например по клику правой кнопки (аля контестное меню), то оно сдвигается в сторону в случае, если выходит за пределы экрана. Но этого почему-то не происходит, если после отображения меню начать добавлять в него новые пункты. В итоге, если меню находится внизу экрана и новые меню начинают уходить за пределы экрана, то меню не сдвигается и эти дополнительные пункты не доступны для клика. Пока выкрутился так: menu.hide(); menu.show(); Хотелось бы после добавления новых пунктов перерисовать меню. Но как это сделать? . |
menu.destroy();
а потом опять menu.create(); пробовал? |
Цитата:
|
а если при вызове меню определять его положение
x_menu[id] = Ext.get(id).getX(); y_menu[id] = Ext.get(id).getY(); а потом при добавлении пунктов сдвигать на нужное количество пикселей (p) Ext.get(id).setX((x_menu[id]+p)); Ext.get(id).setY((y_menu[id]+p)); |
Делать ту работу, которую должно делать само меню автоматически?
Ну уж нет. Все это называется "выкрутился". Нужен метод типа menu.repaint(). А его нет. |
Часовой пояс GMT +3, время: 19:25. |