Поделиться через


Блокировать макросы

Внимание

Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.

Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.

Макрос блока используется для разделителя набора записей GPD-файлов, которые необходимо вставить многократно в файл GPD. Можно включить любой тип записи в определение блочного макроса, например операторы функций и вариантов, спецификации атрибутов и ссылки на макросы значений или другие макросы блока.

Следующие правила применяются к использованию макросов блоков:

  • Определение блочного макроса в файле GPD должно находиться перед любыми ссылками на него.

  • Макрос блока, определенный на корневом уровне (т. е. не внутри фигурных скобок), доступен через GPD-файл, определяющий его после определения. В противном случае область макроса блока представляет собой набор левых и правых фигурных скобок, содержащих его определение.

  • Определение блочного макроса может содержать определения дополнительных макросов блоков и макросов значений.

  • Определение блочного макроса может ссылаться на другие ранее определенные макросы блоков и макросы значений, но не может ссылаться на себя.

  • Блокировать макросы не принимают аргументы.

  • Если фигурные скобки включены в текст макроса, они должны быть сопряжены (то есть должно быть равное количество левых и правых фигурных скобок).

  • Если вы создаете два макроса блока с одинаковым именем, первое определение действует до тех пор, пока средство синтаксического анализа GPD не столкнется со вторым определением. Затем второе определение заменяет первое. Если область второго определения заканчивается, первое определение будет восстановлено.

Блокировать формат макроса

Чтобы определить макрос блока в файле GPD, используйте следующий формат:

*BlockMacro: BlockMacroName {BlockMacroBody}

Где BlockMacroName — это уникальное имя, а BlockMacroBody — это набор одного или нескольких записей GPD-файла. Если BlockMacroBody содержит фигурные скобки, необходимо включить равные числа левых и правых фигурных скобок ({, } ).

Например, можно определить макрос блока с именем EnvelopeDefaults, который определяется следующим образом:

*BlockMacro: EnvelopeDefaults
{
    *PrintableArea: PAIR(4646, 6738)
    *PrintableOrigin: PAIR(150, 150)
    *RotateSize: TRUE
}

Ссылки на макросы блоков

Чтобы ссылаться на макрос блока, используйте следующий формат:

*InsertBlock: =BlockMacroName

Где BlockMacroName — это уникальное имя, указанное ранее в записи *BlockMacro , определяющей макрос.

Например, чтобы ссылаться на макрос EnvelopeDefaults в спецификации параметра, можно использовать следующие записи:

*Option: Env9
{
    *InsertBlock: =EnvelopeDefaults
}