Можно ли добавить свой пункт в меню модуля?

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
igornov
Постоянный гость
Сообщения: 70
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина ИВЦ при Ингулецком ГОКе
Контактная информация:

Можно ли добавить свой пункт в меню модуля?

Сообщение igornov »

Если да то как?
ApachiA
Постоянный гость
Сообщения: 58
Зарегистрирован: 29 мар 2005, 17:49
Откуда: -
Контактная информация:

Re: Можно ли добавить свой пункт в меню модуля?

Сообщение ApachiA »

легче свой контур добавить :)
ХОЧУ изучить правила написания ИНТЕРФЕЙСОВ, создание собственных контуров и компиляции ADF словарей :)
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: Можно ли добавить свой пункт в меню модуля?

Сообщение Maverick »

Ребят не спорьте )) можно все красиво сделать галактическими функциями )))
все подробно расписано в 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.

Все что вам нужно - написать подобный интерфейс и вставить его через конфиг чтобы загружался при старте галки. В интере проверять - если такой пункт меню есть - не вставлять, иначе - вставлять
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
dp
Местный житель
Сообщения: 216
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Беларусь, Минск
Контактная информация:

Re: Можно ли добавить свой пункт в меню модуля?

Сообщение dp »

1. как поставить интерфейс чтобы он отрабатывал при старте Галактики сам (и выполнял LoadMenu)?
2. кто будет запускать и обслуживать RunLoadMenu?
3. кто будет запускать DisposeLoadMenu?

если есть работающий пример - в студию.
бо дня два промучался и плюнул на это...

по-моему оно работает только если меню нужно в своем интерфейсе - по типу того которое по правой кнопке...
dP
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: Можно ли добавить свой пункт в меню модуля?

Сообщение Maverick »

Есть така хитрая штука в Галке
1.Открываешь galnet.cfg
2. Смотришь, есть ли у тебя в нем секция Compilers
3. Если есть, добавляешь в ней параметр RunIdent = ИМЯ_ИНТЕРФЕЙСА, если нет, то создаешь эту секцию и опять же прописываешь RunIdent = ИМЯ_ИНТЕРФЕЙСА
4. В результате после старта галки первым будет загружаться твой интерфейс )))

RunIdent
Назначение : Имя интерфейса для запуска (напр. VASIA)
Вид параметра : Строковый (значения - строки, можно в любых кавычках)
Примечание : Записывается в файл конфигурации пользователя.
Синоним : /RI _ ключ (пример /RI=строка или /RI:строка)

А работающих примеров масса - в Хозоперациях практически все менюхи по такому принципу построены
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Ответить