Пример В следующем примере показано, как с помощью функции 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 |
|||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.