PDA

Просмотр полной версии : Грамотно отключить контекстное меню, строчку (File, Viev, etc.) и сочетания клавиш


DizzWebS
16.06.2009, 17:31
В общем хочу отключить контекстное меню (а точнее отключить все пункты и добавить один свой), строчку меню Файл, просмотр, и так далее и сочетания клавиш типа Ctrl+Enter в .exe флешке.
Впринципе я это сделал, у меня получилось, но есть одно но... все три сразу параметра работают, но, так сказать, не полностью. А именно: не работает в контекстном меню добавленное мною поле.
Код следующий (для контекстного меню нарыл его на каком-то сайте):

fscommand("showMenu","false");
fscommand ("trapallkeys", "true");
var myMenu:ContextMenu = new ContextMenu();
myMenu.hideBuiltInItems();
_root.menu = myMenu;
var myMenuItem1:ContextMenuItem = new ContextMenuItem("Написать письмо автору", func_letter, true);
function func_letter():Void {
getURL("mailto:abc123@abc.ru");
}
myMenu.customItems.push(myMenuItem1);

И причём тут же есть фишка... если убрать самую первую строчку (fscommand("showMenu","false"); ), то всё прекрасно работает.

з.ы. Есть пару вопросиков:
1. этот код можно написать только в первом кадре программы, или слой со скриптом должне быть "до конца" все кадров?
2. Обязательно писать каждый раз строчку fscommand, или можно все комманды, которые отрубаю/включаю, как то в скобки "запихнуть"?

iNils
16.06.2009, 18:26
если убрать самую первую строчку (fscommand("showMenu","false"); ), то всё прекрасно работает.А зачем вы ее используете, если у вас есть myMenu.hideBuiltInItems() ?
1. Длина слоя не влияет на код.
2. Обязательно.

DizzWebS
16.06.2009, 18:40
но если я первую строчку убираю, то обратно появляется строка File, View, Controls, Help.