Можно ли добавить свой пункт в меню модуля?
Модераторы: m0p3e, edward_K, Модераторы
-
- Постоянный гость
- Сообщения: 70
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Украина ИВЦ при Ингулецком ГОКе
- Контактная информация:
Можно ли добавить свой пункт в меню модуля?
Если да то как?
-
- Постоянный гость
- Сообщения: 58
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: -
- Контактная информация:
Re: Можно ли добавить свой пункт в меню модуля?
легче свой контур добавить
ХОЧУ изучить правила написания ИНТЕРФЕЙСОВ, создание собственных контуров и компиляции ADF словарей :)
-
- Абориген
- Сообщения: 943
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: External Developer
- Контактная информация:
Re: Можно ли добавить свой пункт в меню модуля?
Ребят не спорьте )) можно все красиво сделать галактическими функциями )))
все подробно расписано в ASDK
Работает начиная с атлантиса 3.03.12
Function LoadMenu (Name : String ) : LongInt ;
Function AddMenuItem (MenuID:LongInt;Name:String;Command:Word):Boolean ;
Function RunLoadMenu (MenuID : LongInt; XPos : Integer;YPos : Integer ) : Word ;
Пример
const
cmTest1 = 3000;
cmTest2 = 3001;
cmTest3 = 3002;
cmTest4 = 3003;
cmTest5 = 3004;
cmAddTest = 3005;
cmRunMyMenu = 3010;
end;
interface ATest;
create view Test
var MenuID : LongInt;
as select * from Order;
...
HandleEvent
cmDefault :
{
PutCommand(cmRunMyMenu);
}
cmRunMyMenu :
{
MenuID := LoadMenu('TestMenu');
AddMenuItem(MenuID,'Новый пункт',cmAddTest);
case RunLoadMenu(MenuID) of
cmTest1: message('Test1');
cmTest2: message('Test2');
cmTest3: message('Test3');
cmTest4: message('Test4');
cmTest5: message('Test5');
cmAddTest: message('AddTest');
end; //case
}
end; //HandleEvent
end.
Все что вам нужно - написать подобный интерфейс и вставить его через конфиг чтобы загружался при старте галки. В интере проверять - если такой пункт меню есть - не вставлять, иначе - вставлять
все подробно расписано в ASDK
Работает начиная с атлантиса 3.03.12
Function LoadMenu (Name : String ) : LongInt ;
Function AddMenuItem (MenuID:LongInt;Name:String;Command:Word):Boolean ;
Function RunLoadMenu (MenuID : LongInt; XPos : Integer;YPos : Integer ) : Word ;
Пример
const
cmTest1 = 3000;
cmTest2 = 3001;
cmTest3 = 3002;
cmTest4 = 3003;
cmTest5 = 3004;
cmAddTest = 3005;
cmRunMyMenu = 3010;
end;
interface ATest;
create view Test
var MenuID : LongInt;
as select * from Order;
...
HandleEvent
cmDefault :
{
PutCommand(cmRunMyMenu);
}
cmRunMyMenu :
{
MenuID := LoadMenu('TestMenu');
AddMenuItem(MenuID,'Новый пункт',cmAddTest);
case RunLoadMenu(MenuID) of
cmTest1: message('Test1');
cmTest2: message('Test2');
cmTest3: message('Test3');
cmTest4: message('Test4');
cmTest5: message('Test5');
cmAddTest: message('AddTest');
end; //case
}
end; //HandleEvent
end.
Все что вам нужно - написать подобный интерфейс и вставить его через конфиг чтобы загружался при старте галки. В интере проверять - если такой пункт меню есть - не вставлять, иначе - вставлять
-
- Местный житель
- Сообщения: 216
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Беларусь, Минск
- Контактная информация:
Re: Можно ли добавить свой пункт в меню модуля?
1. как поставить интерфейс чтобы он отрабатывал при старте Галактики сам (и выполнял LoadMenu)?
2. кто будет запускать и обслуживать RunLoadMenu?
3. кто будет запускать DisposeLoadMenu?
если есть работающий пример - в студию.
бо дня два промучался и плюнул на это...
по-моему оно работает только если меню нужно в своем интерфейсе - по типу того которое по правой кнопке...
2. кто будет запускать и обслуживать RunLoadMenu?
3. кто будет запускать DisposeLoadMenu?
если есть работающий пример - в студию.
бо дня два промучался и плюнул на это...
по-моему оно работает только если меню нужно в своем интерфейсе - по типу того которое по правой кнопке...
dP
-
- Абориген
- Сообщения: 943
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: External Developer
- Контактная информация:
Re: Можно ли добавить свой пункт в меню модуля?
Есть така хитрая штука в Галке
1.Открываешь galnet.cfg
2. Смотришь, есть ли у тебя в нем секция Compilers
3. Если есть, добавляешь в ней параметр RunIdent = ИМЯ_ИНТЕРФЕЙСА, если нет, то создаешь эту секцию и опять же прописываешь RunIdent = ИМЯ_ИНТЕРФЕЙСА
4. В результате после старта галки первым будет загружаться твой интерфейс )))
RunIdent
Назначение : Имя интерфейса для запуска (напр. VASIA)
Вид параметра : Строковый (значения - строки, можно в любых кавычках)
Примечание : Записывается в файл конфигурации пользователя.
Синоним : /RI _ ключ (пример /RI=строка или /RI:строка)
А работающих примеров масса - в Хозоперациях практически все менюхи по такому принципу построены
1.Открываешь galnet.cfg
2. Смотришь, есть ли у тебя в нем секция Compilers
3. Если есть, добавляешь в ней параметр RunIdent = ИМЯ_ИНТЕРФЕЙСА, если нет, то создаешь эту секцию и опять же прописываешь RunIdent = ИМЯ_ИНТЕРФЕЙСА
4. В результате после старта галки первым будет загружаться твой интерфейс )))
RunIdent
Назначение : Имя интерфейса для запуска (напр. VASIA)
Вид параметра : Строковый (значения - строки, можно в любых кавычках)
Примечание : Записывается в файл конфигурации пользователя.
Синоним : /RI _ ключ (пример /RI=строка или /RI:строка)
А работающих примеров масса - в Хозоперациях практически все менюхи по такому принципу построены