Функция GetDeviceCaps (wingdi.h)
Функция GetDeviceCaps извлекает сведения о конкретном устройстве для указанного устройства.
Синтаксис
int GetDeviceCaps(
[in] HDC hdc,
[in] int index
);
Параметры
[in] hdc
Дескриптор контроллера домена.
[in] index
Возвращаемый элемент. Этот параметр может принимать одно из указанных ниже значений.
Индекс | Значение | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Версия драйвера устройства. | ||||||||||||||||||||||||||||||||||
|
Технология устройств. Это может быть любое из следующих значений.
Если параметр hdc является дескриптором для контроллера домена расширенного метафайла, технология устройства — это технология устройства, на которое ссылается устройство, указанное в функции CreateEnhMetaFile . Чтобы определить, является ли он расширенным контроллером домена метафайла, используйте функцию GetObjectType . |
||||||||||||||||||||||||||||||||||
|
Ширина физического экрана в миллиметрах. | ||||||||||||||||||||||||||||||||||
|
Высота физического экрана в миллиметрах. | ||||||||||||||||||||||||||||||||||
|
Ширина экрана (в пикселях); или для принтеров — ширина (в пикселях) печатаемой области страницы. | ||||||||||||||||||||||||||||||||||
|
Высота экрана в растровых линиях; или для принтеров — высота (в пикселях) печатаемой области страницы. | ||||||||||||||||||||||||||||||||||
|
Количество пикселей на логический дюйм вдоль ширины экрана. В системе с несколькими мониторами отображения это значение одинаково для всех мониторов. | ||||||||||||||||||||||||||||||||||
|
Количество пикселей на логический дюйм вдоль высоты экрана. В системе с несколькими мониторами отображения это значение одинаково для всех мониторов. | ||||||||||||||||||||||||||||||||||
|
Количество смежных битов цвета для каждого пикселя. | ||||||||||||||||||||||||||||||||||
|
Число цветовых плоскостей. | ||||||||||||||||||||||||||||||||||
|
Количество кистей, относящихся к устройству. | ||||||||||||||||||||||||||||||||||
|
Количество перьев, относящихся к устройству. | ||||||||||||||||||||||||||||||||||
|
Количество шрифтов, относящихся к устройству. | ||||||||||||||||||||||||||||||||||
|
Количество записей в таблице цветов устройства, если глубина цвета устройства не превышает 8 бит на пиксель. Для устройств с большей глубиной цвета возвращается значение -1. | ||||||||||||||||||||||||||||||||||
|
Относительная ширина пикселя устройства, используемого для рисования линий. | ||||||||||||||||||||||||||||||||||
|
Относительная высота пикселя устройства, используемого для рисования линий. | ||||||||||||||||||||||||||||||||||
|
Диагональная ширина пикселя устройства, используемого для рисования линий. | ||||||||||||||||||||||||||||||||||
|
Зарезервировано. | ||||||||||||||||||||||||||||||||||
|
Флаг, указывающий возможности обрезки устройства. Если устройство может обрезать прямоугольник, это значение равно 1. В противном случае — 0. | ||||||||||||||||||||||||||||||||||
|
Количество записей в системной палитре. Этот индекс действителен, только если драйвер устройства задает бит RC_PALETTE в индексе RASTERCAPS и доступен только в том случае, если драйвер совместим с 16-разрядной версией Windows. | ||||||||||||||||||||||||||||||||||
|
Количество зарезервированных записей в системной палитре. Этот индекс действителен, только если драйвер устройства задает бит RC_PALETTE в индексе RASTERCAPS и доступен только в том случае, если драйвер совместим с 16-разрядной версией Windows. | ||||||||||||||||||||||||||||||||||
|
Фактическое разрешение цвета устройства в битах на пиксель. Этот индекс действителен, только если драйвер устройства задает бит RC_PALETTE в индексе RASTERCAPS и доступен только в том случае, если драйвер совместим с 16-разрядной версией Windows. | ||||||||||||||||||||||||||||||||||
|
Для устройств печати: ширина физической страницы в единицах устройства. Например, принтер для печати с разрешением 600 точек на бумаге размером 8,5 x11 дюйма имеет физическое значение ширины 5100 единиц устройства. Обратите внимание, что физическая страница почти всегда больше печатной области страницы и никогда не меньше. | ||||||||||||||||||||||||||||||||||
|
Для устройств печати: высота физической страницы в единицах устройства. Например, принтер для печати с разрешением 600 точек на бумаге размером 8,5 на 11 дюймов имеет физическое значение высоты 6600 единиц устройства. Обратите внимание, что физическая страница почти всегда больше печатной области страницы и никогда не меньше. | ||||||||||||||||||||||||||||||||||
|
Для устройств печати: расстояние от левого края физической страницы до левого края печатаемой области в единицах устройств. Например, принтер для печати с разрешением 600 точек на дюйм на бумаге размером 8,5 на 11 дюймов, который не может печатать на крайней левой 0,25-дюймовой бумаге, имеет горизонтальное физическое смещение в 150 единиц устройства. | ||||||||||||||||||||||||||||||||||
|
Для устройств печати: расстояние от верхнего края физической страницы до верхнего края печатаемой области в единицах устройства. Например, принтер для печати с разрешением 600 точек на дюйм на бумаге размером 8,5 на 11 дюймов, который не может печатать на самой верхней бумаге размером 0,5 дюйма, имеет вертикальное физическое смещение в 300 единиц устройства. | ||||||||||||||||||||||||||||||||||
|
Для устройств отображения: текущая вертикальная частота обновления устройства в циклах в секунду (Гц).
Вертикальное значение частоты обновления 0 или 1 представляет частоту обновления оборудования дисплея по умолчанию. Эта скорость по умолчанию обычно устанавливается переключателями на дисплее карта или системной плате компьютера или программой настройки, которая не использует функции отображения, такие как ChangeDisplaySettings. |
||||||||||||||||||||||||||||||||||
|
Коэффициент масштабирования для оси X принтера. | ||||||||||||||||||||||||||||||||||
|
Коэффициент масштабирования для оси Y принтера. | ||||||||||||||||||||||||||||||||||
|
Предпочтительное горизонтальное выравнивание рисунка, выраженное в виде кратных пикселей. Для оптимальной производительности рисования окна должны быть выровнены по горизонтали в соответствии с кратным этому значению. Нулевое значение указывает, что устройство ускоряется, и может использоваться любое выравнивание. | ||||||||||||||||||||||||||||||||||
|
Значение, указывающее возможности затенения и смешивания устройства. Дополнительные комментарии см. в разделе Примечания.
|
||||||||||||||||||||||||||||||||||
|
Значение, указывающее возможности растра устройства, как показано в следующей таблице.
|
||||||||||||||||||||||||||||||||||
|
Значение, указывающее возможности кривой устройства, как показано в следующей таблице.
|
||||||||||||||||||||||||||||||||||
|
Значение, указывающее возможности линии устройства, как показано в следующей таблице:
|
||||||||||||||||||||||||||||||||||
|
Значение, указывающее возможности многоугольников устройства, как показано в следующей таблице.
|
||||||||||||||||||||||||||||||||||
|
Значение, указывающее возможности текста устройства, как показано в следующей таблице.
|
||||||||||||||||||||||||||||||||||
|
Значение, указывающее возможности управления цветом устройства.
|
Возвращаемое значение
Возвращаемое значение указывает значение нужного элемента.
Если nIndex имеет значение BITSPIXEL и устройство имеет значение 15bpp или 16bpp, возвращаемое значение равно 16.
Комментарии
Если nIndex имеет значение SHADEBLENDCAPS:
- Для принтера GetDeviceCaps возвращает все, что сообщает принтер.
- Для устройства отображения доступны все операции смешивания; кроме SB_NONE, возвращаются только SB_CONST_ALPHA и SB_PIXEL_ALPHA, которые указывают, являются ли эти операции ускоренными.
Индекс | Escape-экран принтера заменен |
---|---|
PHYSICALWIDTH | GETPHYSPAGESIZE |
PHYSICALHEIGHT | GETPHYSPAGESIZE |
PHYSICALOFFSETX | GETPRINTINGOFFSET |
PHYSICALOFFSETY | GETPHYSICALOFFSET |
SCALINGFACTORX | GETSCALINGFACTOR |
SCALINGFACTORY | GETSCALINGFACTOR |
Примеры
Пример см. в разделе Подготовка к печати.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wingdi.h (включая Windows.h) |
Библиотека | Gdi32.lib |
DLL | Gdi32.dll |