Печать и вывод текста, страница 3

Пример В следующем примере показано, как с помощью функции SetAbortProc установить диалоговое окно аварийного прекращения работы и процедуру аварийного прекращения работы. Если пользователь нажимает кнопку Cancel в диалоговом окне аварийного прекращения работы в процессе печати, печать документа прекращается с применением функции AbortDoc.

Диалоговое окно аварийного прекращения работы в файле описания ресурса

ABORTDLG  DIALOGEX  20, 20, 90, 64

STYLE  DS_MODALFRAME   |   WS_CAPTION   |   WS_SYSMENU

CAPTION  ""Printina""

BEGIN

DEFPUSHBUTTON  ""Cancel"",   IDCANCEL,     29, 44, 32, 14, WSjGRQTJP CTEXT ""Sending"",                     -1, 0,  8, 90,  8 CTEXT   """",     IDC_FILENAME,0,   18, 90,  8 CTEXT ""to  print  «pooler."", -1, 0, 28, 90,  8

END

Функции WndProc, AbortDIg и Abort в исходном файле

См.    \local-sources\cbapl4\14-01.txt

DeviceCapabilities                           Windows 98   » Windows 2000

Описание

Функция DeviceCapabilities позволяет определить возможности драйвера принтера.

Синтаксис

DWORD DeviceCapabilities( LPCTSTR pDevice, LPCTSTR pPon, WORD

JwCapability, LPTSTR pOutput, CONST DEVMODE* pDevMode )

Параметры

pDevice

LPCTSTR Указатель на строку с нулевым символом в конце, содержащую имя принтера (например, "PCL/HP LaserJet").

pPort

LPCTSTR Указатель на строку с нулевым символом в конце, содержащую имя порта, к которому подключено устройство (например, "LPT1").

JwCapabiliQ

WORD. Возможности устройства, которые должны быть определены функцией. Этот параметр может иметь одно из значений, перечисленных в табл. 14.2.

Таблица 14.2. Значения параметра fwCapabilfty функции DeviceCapabilities

Значение

Описание

DC_BJNADJUST (Windows 98) Определить, способен ли драйвер учитывать расположение бумаги в магазинах бумагоподающего устройства. Возвращаемое значение может состоять из одного или нескольких значений, перечисленных ниже:

DCBA_FACEUPNONE

DCBA_FACEUPCENTER

DCBA_FACEUPLEFT

DCBA_FACEUPRIGHT

DCBA_FACEDOWNNONE

DCBA_FACEDOWNCENTER

DCBA_FACEDOWNLEFT

Значение

Описание

DCBA_FACEDOWNRIGHT

DC_BINNAMES

Скопировать массив, содержащий список имен магазинов бумагоподающего устройства. Этот массив представлен в виде char PaperNames[cft'nMax][cchBmName], где параметр cchB/'nName равен 24. Если параметр pOutput равен NULL, возвращаемое значение — число требуемых входов массива имен магазинов. В ином случае, возвращаемое значение — число скопированных имен магазинов.

DC_BMS

Выбрать список доступных магазинов. Функция копирует список в параметр pOutput в виде массива WORD. Если параметр pOutput равен NULL, функция возвращает число поддерживаемых магазинов, что дает возможность распределить в приложении буфер с правильным размером. Дополнительная информация о магазинах бумагоподающего устройства приведена в описании члена dmDefau/fSocirce структуры DEVMODE.

DC_COLLATi

Возвращаемое значение — 1 , если принтер поддерживает подборку копий; в ином случае возвращаемое значение — нуль.

DC_COLORDEVICE

(Windows 2000) Возвращаемое значение — 1 , если принтер обеспечивает цветную печать; в ином случае возвращаемое значение — нуль.

DC_COPIES

Возвратить число копий, которое может быть напечатано устройством.

DCJMMVER

Возвратить номер версии драйвера принтера.

DC_DATATYPE_PRODUCED

(Windows 98) Возвратить число типов данных, поддерживаемых драйвером принтера. Если возвращаемое значение равно -1 , драйвер распознает только данные типа "RAW". Имена типов данных копируются в массив.

DC_DUPLEX

Возвратить информацию об уровне поддержки двухсторонней печати. Если принтер способен выполнять двухстороннюю печать, возвращаемое значение — 1 ; в ином случае возвращаемое значение — 0.

DC_EMF_COMPLIANT

(Windows 98) Определить, поддерживает ли драйвер принтера расширенные метафайлы (EMF). Если возвращаемое значение равно 1 , драйвер поддерживает EMF; в ином случае возвращаемое значение равно -1 .

DC_ENUMRESOLUT1ONS

Возвратить список допустимых значений разрешающей способности. Если параметр pOutput равен NULL, функция возвращает число доступных конфигураций установки разрешающей способности. Значения разрешающей способности выражены в виде пар целых чисел LONG, представляющих разрешающую способность по горизонтали и вертикали (указанную в точках на дюйм).

DC_EXTRA

Возвратить число байтов, необходимых для размещения части структуры DEVMODE для драйвера принтера, зависящей от устройства.

DC_FD3LDS

Возвратить член dmF/e/ds структуры DEVMODE драйвера принтера. Член dmFields указывает, какие члены в части этой структуры, которая не зависит от устройства, поддерживаются драйвером принтера.

DCJ4LEDEPENDENCIES

Возвратить список файлов, которые должны быть загружены в связи < установкой драйвера. Если параметр pOirfpuf равен NULL, функция возвращает число файлов. В ином случае, pOutput указывает на массив имен файлов в форме charfc/iFHeName, 64]. Каждое имя файла представляет собой строку с нулевым символом в конце.

DC_MANUFACTURER

(Windows 98) Возвратить опознавательный номер фирмы-изготовители принтера. Это значение используется в функциях ICM (Image Color Matching — Согласование цветов изображения).

DC_MAXEXTENT

Возвратить структуру POINT, содержащую максимальные размеры бумаги, которые могут быть указаны членами dmPaperLengfh и dmPaperWidth структуры DEVMODE драйвера принтера.

DC_MH)IAREADY

(Windows 2000) Определить названия бумажных форм, доступных в настоящее время для использования. Буфер pOlrfput принимает массив строковых буферов. Каждая строка имеет длину 64 символа и содержит название бумажной формы. Возвращаемое значение равно числу входов в массиве. Если параметр pOutput равен NULL, функция возвращает число бумажных форм.

DC_MINEXTENT

Возвратить структуру POINT, содержащую минимальные размеры бумаги, которые могут быть указаны членами dmPaperLengfh и dmPaperWidth структуры DEVMODE драйвера принтера.

DC_MODEL

(Windows 98) Возвратить опознавательный номер модели принтера. Это значение используется в функциях ICM (Image Color Matching — Согласование цветов изображения).

DC_OMENTATION

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

0                 Альбомная ориентация не поддерживается.

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

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

DC_NUP

(Windows 2000) Выбрать массив целых чисел, которые указывают, позволяет ли принтер печатать несколько страниц документа на одной печатной странице. Параметр pOutput принимает массив значений DWORD. Каждое значение представляет число страниц документа, котор* - могут быть напечатаны на одной печатной странице. Функция возвращает число значений в массиве. Если параметр pOlrfput равен NULL, функция возвращает число входов, которое должно быть предусмотрено в массиве.

DC_PAPERNAMES

Выбрать список названий поддерживаемых форматов бумаги (например, "Letter" или "Legal"). Если параметр pOutput равен NULL, функция возвращает число доступных форматов бумаги. В ином случае параметр pOirfpuf указывает на массив названий форматов бумаги в форме char[cPaperNames, 64]. Каждое название формата бумаги представляет собой строку с нулевым символом в конце.

DC_PAPERS

Выбрать список поддерживаемых форматов бумаги. Функция копирует список в параметр pOutput в виде массива WORD и возвращает число входов в массиве. Если параметр pOutput равен NULL, функциявозвращает число поддерживаемых форматов бумаги, что дает возможность распределить в приложении буфер необходимого размера. Дополнительная информация о форматах бумаги приведена в описании члена dmPaperS/ze структуры DEVMODE

DC_PAPERSIZE

Скопировать размеры всех поддерживаемых форматов бумаги в десятых долях миллиметра в массив структур POINT, указанный параметром pOutput. Возвращаемые значения ширины (размер ж) и длины (размер у) формата бумаги соответствуют расположению бумаги в ориентации DMORIENT_PORTRAIT.

DC_PERSONALITY

(Windows 2000) Выбрать список языков описания команд принтера, поддерживаемых принтером. Буфер pOutput принимает массив строковых буферов. Каждый буфер имеет длину 32 символа и содержит имя языка описания команд принтеров. Возвращаемое значение представляет собой число входов в массиве.

DC_PRINTERMEM

(Windows 2000) Возвратить объем доступной памяти принтера в килобайтах.

DC_PRINTRATE

(Windows 2000) Возвратить значение скорости печати принтера. Единицы измерения, применяемые при определении значения, возвращенного при установке флажка DC_PRINTRATE, обозначены значением, возвращаемым параметром DC_PRINTRATEUINT.

DC PRINTRATEPPM

(Windows 2000) Возвратить значение скорости печати принтера в страницах в минуту.

DC PRINTRATEUNIT

(Windows 2000) Возвратить одно из следующих значений, которые указывают единицы измерения скорости печати для значения, возвращенного при установке флажка DC PRINTRATE.

PRINTRATEUNIT_CPS            Символов в секунду.

PRtNTRATEUNIT_IPM            Дюймов в минуту.

PRINTRATEUNIT_LPM Строк в минуту.

PRINTRATEUNIT_PPM Страниц в минуту.

DC_SIZE

Возвратить член dmSize структуры DEVMODE драйвера принтера.

DC_STAPLE

(Windows 2000) Возвратить отличное от нуля значение, если принтер обеспечивает шитье проволокой; в ином случае возвращаемое значение — нуль.

DC_TRUETYPE

Определить, способен ли драйвер использовать шрифты TrueType. При применении флажка DC_TRUETYPE параметр pOutput должен иметь значение NULL. Возвращаемое значение может состоять из одного или нескольких значений, перечисленных ниже:

DCTT_BITMAP                       Устройство может печатать шрифты TrueType как графику.

DC I I_DOWNLOAD                Устройство может загружать шрифты TrueType.

DCrT_DOWNLOAD_OUTUNE   (Windows 98) Устройство может загружать контурные шрифты TrueType.

DCTT_SUBDEV                       Устройство может заменять шрифты TrueType шрифтами устройства.

DC_VERSION

Возвратить версию технических требований, которым соответствует драйвер принтера.

pOutput

LPTSTR. Указатель на массив байтов. Формат массива зависит от знач« ния, указанного параметром JwCapability. Если значение этого параметра установлено равным NULL, функция возвращает число байтов, необходимых для выходных данных.

pDevMode

CONST DEVMODE*. Указатель на структуру DEVMODE. Если значение этого параметра установлено равным NULL, функция выбирает текущие параметры инициализации для драйвера принтера, заданные по умолчанию. В ином случае, функция выбирает значения, содержащиеся в структуре DEVMODE. Определение структуры DEVMODE приведено ниже.

Возвращаемое значение

DWORD. В случае успешного выполнения значение изменяется в зависимости от значения, указанного параметром fwCapability, в ином случае возвращаемое значение равно -1

Включаемый файл

wingdi.h

См. также

GetDeviceCaps