Visual C++. Описание стандартных классов
Страница 6.


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