Интерфейсы (версия 1.2 бета от
22.05.2004)
Данный документ доступент по следующим адрессам:
http://sourceforge.net/projects/lproject
http://1l.w4b.ru/
Авторство принадлежит:
Copyright © 2004 Дмитрий Павлюк <dmp@myrealbox.com> - Автор
данной модификации
Copyright © 2004 Алексей Диркс
Каждый имеет право воспроизводить, распространять и/или вносить
изменения в настоящий документ в соответствии с условиями GNU Free
Documentation License, версией 1.2 или любой более поздней версией,
опубликованной Free Software Foundation;
Данный документ не содержит неизменяемых разделов, текста,
помещаемого на первой странице обложки, и текста, помещаемого на
последней странице обложки.
Копия GNU Free Documentation License помещена в файл под
названием "GNU_FDL.html".
Содержание
- Содержание
- История
- Благодарности
- Введение
- Комманды
- Меню
- Панель кнопок
История
Предедущее название документа - "Формат интерфейсов".
Предедущая версия документа доступка по адресу - http://1c.alterplast.ru/gcomp/.
На данный момент документ, так же будет поддерживаться проектом
1L и доступен с sf.net.
Copyright © 2004 Дмитрий Павлюк <dmp@realbox.com> -
Оформление даного документа, в виде HTML файла. И поддержка в
проекте 1L.
Copyright © 2004 Алексей Диркс - Написана оригальная версия этого
файла, в формате *.TXT.
Благодарности
Спасибо Федору Езееву (проект GComp), за предоставление файла
Interfaces.txt, который и является основой данного документа.
Введение
Commands - команды
Заголовок базового интерфейса
08 00 00 00
длина описания интерфейса - 1 байт (м.б.0x00)
Описание интерфейса
4 байта: 0x00 - меню "операции" присутствует; 0x01 - меню
"операции" отключено
4 байта: 0x01 - использовать при отключенной авторизации
Количество команд - 4 байта
[Список команд]
Заголовок подчинённого интерфейса
08 00 00 00
длина наименования родительского интерфейса - 1 байт (м.б.
0x00)
Наименование родительского интерфейса
4 байта: 0x00 - меню "операции" присутствует; 0x01 - меню
"операции" отключено
4 байта: 0x01 - использовать при отключенной авторизации
длина описания интерфейса - 1 байт (м.б.0x00)
Описание интерфейса
Количество команд - 4 байта
[Список команд]
Команда основного интерфейса:
Идентификатор - 4 байт (начинается с 0x0000C000)
Длина - 1 байт
Текст (непонятно что это. Для справочников, если не указана
явно форма списка - <Идентификатор>.Открыть) (м.б.
0)
Длина подсказки - 1 байт
Подсказка
Горячая клавиша - 3 байта
модификатор - 1 байт (Alt - 0x11, Ctrl - 0x09, Shift - 0x05
и их OR комбинации)
скан-код - 2 байта
Длина команды - 1 байт
Команда (типа Документ.Доверенность.Ввести)
Длина дополнительного параметра - 1 байт (м.б. 0)
Доп. параметр (типа <форма списка> или
ОткрытьФормуМодально). М.б. несколько
параметров - тогда они разделяются символом 0x0A ('\n')
Команда подчинённого интерфейса:
Длина команды - 1 байт
Команда
Длина дополнительного параметра - 1 байт (м.б. 0)
Доп. параметр
Page.1 - меню
Заголовок:
01 00 00 00
Количество субменю - 4 байта
[группы меню]
Группа меню:
FF FF FF FF
длина текста - 1 байт
Текст
количество элементов - 4 байта (причём считаются только
элементы - субменю не считаются)
[элементы и группы меню]
Элемент меню:
числовой идентификатор элемента в меню - 4 байт. Отсчёт
начинается с 0x0000C000
длина текста - 1 байт
текст
Разделитель элементов меню:
00 00 00 00
Page.2 - панели кнопок
Заголовок:
FD FF FF FF
Количество панелей - 4 байта
[список панелей]
[описания кнопок и разделителей] (количество вычисляется как
сумма по всем панелям)
Количество кнопок с надписями - 4 байта
[описания кнопок с надписями]
Количество кнопок с картинками - 4 байта
[описания кнопок с картинками]
BMP с образами кнопок (высота - 15, ширина - 16*<количество
кнопок>
Панель:
Длина названия - 1 байт
Название
Количество кнопок - 4 байта
Расположение - 4 байта (0xE81B - сверху, 0xE81C - слева, 0xE81D
- справа, 0xE81E - снизу)
Показывать - 4 байта (0x00 - не показывать, 0x01 -
показывать)
С новой строки - 4 байта (0x00 - на той же строке, 0x01 - с
новой строки)
Описание кнопки:
идентификатор кнопки - 4 байта
Описание кнопки с надписью:
длина надписи - 1 байт
надпись
идентификатор кнопки - 4 байта