int GetDeviceCaps( int nIndex ) const;
Возвращаемое значение
Значение запрошенной возможности, если функция успешна.
Параметры
nIndex
Определяет тип информации, чтобы возвратить. Это может быть любое из следующих значений:
DRIVERVERSION Номер версии. Например 0x100 для 1.0.
TECHNOLOGY Технология устройства. Это может быть любой из следующего:
DT_PLOTTER Векторный графопостроитель DT_RASDISPLAY Растровый дисплей DT_RASPRINTER Растровый принтер DT_RASCAMERA Растровая камера DT_CHARSTREAM Символьный поток DT_METAFILE Метафайл DT_DISPFILE Дисплейный файл
HORZSIZE Ширина физического дисплея (в милиметрах).
VERTSIZE Высота физического дисплея (в милиметрах).
HORZRES Ширина дисплея (в пикселях).
VERTRES Высота дисплея (в растровых строках).
LOGPIXELSX Число пикселей на логический дюйм по ширине дисплея.
LOGPIXELSY Число пикселей на логический дюйм по высоте дисплея.
BITSPIXEL Число смежных цветных битов для каждого пикселя.
PLANES Количество цветных плоскостей.
NUMBRUSHES Число зависящих от устройства кистей.
NUMPENS Число зависящих от устройства перьев.
NUMFONTS Число зависящих от устройства шрифтов.
NUMCOLORS Число входов в таблице цветов устройства.
ASPECTX Относительная ширина пикселя устройства которая используется для линий рисунка.
ASPECTY Относительная высота пикселя устройства которая используется для линий рисунка.
ASPECTXY Диагональная ширина пикселя устройства как используется для линий рисунка.
PDEVICESIZE Размер PDEVICE внутренней структуры данных.
CLIPCAPS Возможности отсечения устройства. Это может быть один из следующего:
CP_NONE Вывод не отсечен. CP_RECTANGLE Вывод отсечен к прямоугольникам. CP_REGION Вывод отсечен к областям.SIZEPALETTE Число входов в палитре системы. Этот индекс допустим только, если драйвер устройства устанавливает RC_PALETTE бит в индексе RASTERCAPS.
RC_BANDING Требует поддержки связи. RC_BIGFONT Поддерживает шрифты больше чем 64КБ. RC_BITBLT Способный к пересылке точечных рисунков. RC_BITMAP64 Поддерживает точечные рисунки больше чем 64КБ. RC_DEVBITS Поддерживает точечные рисунки устройства. RC_DI_BITMAP Способный к обеспечению SetDIBits и функций GetDIBits Windows. RC_DIBTODEV Способный к обеспечению функции SetDIBitsToDevice Windows. RC_FLOODFILL Способный к выполнению полного заполнения. RC_GDI20_OUTPUT Способный к обеспечению Windows версия 2.0 свойства. RC_GDI20_STATE Включает блок состояния в контекст устройства. RC_NONE Не поддерживает никакие растровые операции. RC_OP_DX_OUTPUT Поддерживает непрозрачность и DX массив. RC_PALETTE Определяет устройство базовой палитры. RC_SAVEBITMAP Способный к сохранению точечных рисунков локально. RC_SCALING Способный к масштабированию. RC_STRETCHBLT Способный к выполнению StretchBlt функции. RC_STRETCHDIB Способный к выполнению функции StretchDIBits Windows.
CURVECAPS Возможности кривой устройства. Это может быть комбинация следующего:
CC_CIRCLES Поддерживает круги. CC_PIE Поддерживает секторы круга. CC_CHORD Поддерживает хорды. CC_ELLIPSES Поддерживает эллипсы. CC_WIDE Поддерживает широкие рамки. CC_STYLED Поддерживает стили рамок. CC_WIDESTYLED Поддерживает широкие стили рамки. CC_INTERIORS Поддерживает внутреннее заполнения. CC_ROUNDRECT Поддерживает прямоугольники с округленными углами.
LINECAPS Возможности линии которые устройство поддерживает. Это может быть комбинация следующего:
LC_NONE Не поддерживает никакие линии. LC_POLYLINE Поддерживает ломаные линии. LC_MARKER Поддерживает маркеры. LC_POLYMARKER Поддерживает последовательности точек. LC_WIDE Поддерживает широкие линии. LC_STYLED Поддерживает стили линий. LC_WIDESTYLED Поддерживает широкие стили линий. LC_INTERIORS Поддерживает внутреннее заполнение.
POLYGONALCAPS Возможности полигонов которые устройство поддерживает. Это может быть комбинация следующего:
PC_NONE Не поддерживает никакие многоугольники. PC_POLYGON Поддерживает заполненные многоугольники. PC_RECTANGLE Поддерживает прямоугольники. PC_WINDPOLYGON Поддерживает многоугольники с волнистой штриховкой. PC_SCANLINE Поддерживает одинарные линии. PC_WIDE Поддерживает широкие границы. PC_STYLED Поддерживает стили границы. PC_WIDESTYLED Поддерживает широкие стили границы. PC_INTERIORS Поддерживает внутреннее заполнение.
TEXTCAPS Текстовые возможности устройства которые оно поддерживает. Это может быть комбинация следующего:
TC_OP_CHARACTER Поддерживает точный вывод шрифтов, то есть устройство может помещать шрифты устройства в любое расположение пикселя. Это требуется для любого устройства с шрифтами устройства. TC_OP_STROKE Поддерживает точность вывода штриха, которая указывает, что устройство может опускать любой штриховой из шрифта устройства. TC_CP_STROKE Поддерживает точную отсечку шрифтов, которая указывает, что устройство может отсекать шрифты устройства к границе пикселя. TC_CR_90 Поддерживает символьное вращение на 90 градусом, которое указывает, что устройство может вращать символы только на 90 градусов одновременно. TC_CR_ANY Вращение символа в любой степени, которая указывает устройство, может вращать шрифты устройства на любой угол. TC_SF_X_YINDEP Поддерживает масштабирование, независящее от x и направления y, который указывает, что устройство может масштабировать шрифты устройства отдельно в x и y направлениях. TC_SA_DOUBLE Поддерживает удвоенные символы для масштабирования, которое указывает, что устройство может удвоить размер шрифтов устройства. TC_SA_INTEGER Поддерживает целочисленные множители для масштабирования, которое указывает, что устройство может масштабировать размер шрифтов устройства в любом целочисленном множителе. TC_SA_CONTIN Поддерживает любые множители для точного масштабирования, которое указывает, что устройство может масштабировать шрифты устройства любым количеством, но все еще сохранять x и y отношения(коэффициенты). TC_EA_DOUBLE Поддерживает символы с двойным весом, который указывает, что устройство может делать шрифты устройства полужирными. Если этот бит не установлен для драйверов принтера, GDI пытается создавать полужирные шрифты устройства, печатая их дважды. TC_IA_ABLE Поддерживает курсив, который указывает, что устройство может делать курсив шрифтов устройства. Если этот бит не установлен, GDI принимает, что курсив не доступен. TC_UA_ABLE Поддерживает подчеркивание, которое указывает, что устройство может подчеркивать шрифты устройства. Если этот бит не установлен, GDI создает подчеркивания для шрифтов устройства. TC_SO_ABLE Поддерживает перечеркивание, который указывает, что устройство может зачеркнутые шрифты устройства. Если этот бит не установлен, GDI создает перечеркивания для шрифтов устройства. TC_RA_ABLE Поддерживает растровые шрифты, который указывает, что GDI должен перечислить любой растровый или TrueType шрифты, доступный для этого устройства в ответ на обращение к Функциям EnumFontFamilies Windows или EnumFonts. Если этот бит не установлен, GDI растровые или TrueType шрифты не перечисляются, когда эти функции вызваны. TC_VA_ABLE Поддерживает векторные шрифты, который указывает, что GDI должен перечислить любые векторные шрифты, доступные для этого устройства в ответ на обращение к Функциям EnumFontFamilies Windows или EnumFonts. Это важно для векторных устройств только (то есть для графопостроителей). Драйверы дисплея (который должен быть способен использовать растровые шрифты) и растровые драйверы принтера всегда, перечисляют векторные шрифты, потому что GDI растеризует векторные шрифты перед посылкой им к драйверу. TC_RESERVED Зарезервированный, должен быть 0.
Замечания
Получает широкий диапазон зависящей от устройств информации относительно устройства дисплея.