Интерфейс графических устройств, страница 7

Таблица 12.10. Значения флажков GetDCEx

Значение

Описание

DCX_CACHE

Перезаписать значения CS_OWNDC и CS_CLASSDC, возвратив контекст устройства из кэша.

DCX_CUPOflLDREN

Исключить видимые области всех дочерних окон, расположенных под окном, которое обозначено параметром hWnd.

DCX_CLIPSIBLINGS

Исключить видимые области всех окон того же уровня, расположенных над окном, которое обозначено параметром hWnd.

DCX_DEFAULTCUP

Возвратить контекст устройства с использованием предусмотренных по умолчанию флажков отсечения, которые определены в стилях WS CLIPCHILDREN, WS CLIPSIBLINGS и CS_PARENTDC.

DCX_EXCLUDERGN

Исключить из видимой области возвращенного контекста устройства область отсечения, обозначенную параметром hrgnClip.

DCX_EXCLUDEUPDATE

Исключить область обновления из видимой области возвращенного контекста устройства.

DCX_INTERSECTRGN

Область отсечения, которая обозначена параметром hrgnClip, пересекается с видимой областью возвращенного контекста устройства.

DCX_INTERSECTUPDATE

Область обновления пересекается с видимой областью возвращенного контекста устройства.

DCX_LOCKWINDOWUPDATE

Разрешить вывод, даже если в настоящее время действует вызов функции LockWindowUpdate, который в ином случае запрещает вывод в это окно. Применяется для вывода в окно в процессе отслеживания событий.

GetDCOrgEx                             • Windows 98   +  Windows 2000

Описание

Функция GetDCOrgEx получает начало координат заключительного преобразования для указанного контекста устройства (DC). Началом координат заключительного преобразования называется смещение, применяемое системой Windows для преобразования координат устройства в клиентские координаты.

Синтаксис

BOOL GetDCOrgEx( HDC hDC, LPPOINT IpPoint )

Параметры

hDC

HDC. Контекст устройства, для которого должно быть определено начало координат заключительного преобразования.

Значение

Описание

DCX_NORECOMPUTE

Если в кэше не найдено точное соответствие заданному контексту устройства, возвратить значение NULL, а не создавав новый контекст устройства. При использовании с DCX _ NORESETATTRS в приложении можно определить, нужно л> повторно выбрать какие-либо специальные атрибуты.

DCX_NORESETATTRS

Не переустанавливать атрибуты этого контекста устройства в значения, заданные по умолчанию, при освобождении контекст; устройства.

DCX_PARENTCLIP

Использовать видимую область родительского окна. Начало координат контекста устройства совмещается с левым верхним углом окна, которое обозначено параметром hWnd.

DCX_USESTYLE

Функция должна вычислить значение параметра flags с учетом стилей класса окна, которое обозначено параметром hWnd.

DCX_VALIDATE

При использований с DCX_INTERSECTUPDATE контекст устройств; должен быть полностью объявлен действительным.

DCX_WINDOW

Возвратить контекст устройства, соответствующий прямоугольно области окна, а не клиентской прямоугольной области.

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

HDC. В случае успешного выполнения — дескриптор контекста устройства для данного окна; в ином случае функция возвращает значение NULL, указывая, что параметр h Wnd является недопустимым.

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

wingdi.h

См. также

GetDC, ReleaseDC

Пример

В примере, показанном на рис. 12.3, в приложении для получения контекста устройства клиентской области окна, за исключением определенной области, применяется функция GetDCEx, когда пользователь выбирает пункт меню Test!. Затем в клиентской области закрашивается серым цветом прямоугольник,  который обозначает исключенную область.

См.    \local-sources\chapl2\12-09.txt

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

HDC. В случае успешного выполнения — контекст устройства для клиентской области данного окна; в ином случае возвращаемое значение — NULL.

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

wingdi.h

См. также

BeginPaint, ReleaseDC, RegisterClass

Пример

См. пример для функции EnumFontFamilies.

GetDCEx                                 • Windows 98   • Windows 2000

Описание

Функция GetDCEx аналогична функции GetDC, за исключением того, что приложение контролирует отсечение в клиентской области и способ его выполнения.

Синтаксис

HDC GetDCEx( HWND hWnd, HRGN hrgnClip, DWORD flags )

Параметры

hWnd

HWND. Окно, для которого должен быть получен контекст устройства.

hrgnClip

HRGN. Область отсечения, которая может быть объединена с видимой областью клиентского окна.

flags

DWORD. Определяет способ создания контекста устройства. Этот параметр может представлять собой комбинацию значений, перечисленных в табл. 12.10.

Инлекс

Описание

COLORMGMTCAPS

(Windows 2000) Указывает возможности устройства по управлению цветом.

Возможность

Описание

CM_CMYK_COLOR

Устройство может воспринимать профиль цвета ICC цветового пространства CMYK.

CM_DEVICEJCM

Устройство может выполнять согласование цветов изображения (ICM — image color matching) либо в драйвере устройства, либо в самом устройстве.

CM_GAMMA_RAMF

* Устройство поддерживает функции GetDeviceGammaRamp и SetDeviceGammaRamp.

CM_NONE

Устройство не поддерживает ICM.

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

Значение

Описание

CC_CHORD

Устройство может выводить дуги хорды.

CC_CRCLES

Устройство может выводить окружности.

CC_ELLIPSES

Устройство может выводить эллипсы.

CCJNTERIORS

Устройство может закрашивать внутренние области.

CC_NONE

Устройство не поддерживает кривые.

CC_PIE

Устройство может выводить сектора круга.

CC_ROUNDRECT

Устройство может выводить скругленные прямоугольники .

CC_STYLED

Устройство может выводить стилизованные рамки.

CC_WDE

Устройство может выводить широкие рамки.

CC_WIDESTYLED

Устройство может выводить широкие стилизованные рамки.

DESKTOPHORZRES

(Только Windows 2000) Ширина виртуального рабочего стола в пикселях. Это значение может превышать HORZRES, если устройство поддерживает виртуальный рабочий стол или несколько дисплеев.

DESKTOPVERTRES

(Только Windows 2000) Высота виртуального рабочего стола в пикселях.

DRIVER VERSION

Версия драйвера устройства.

HORZRES

Ширина экрана в пикселях.

HORZSIZE

Ширина физического экрана в миллиметрах.

LINECAPS

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

Значение

Описание

LCJNTERIORS

Устройство может закрашивать внутренние области.

LC_MARKER

Устройство может выводить маркер.

LC_NONE

Устройство не поддерживает линии.

LC_POLYLINE

Устройство может выводить ломаную линию.

Таблица 12.11. Значения параметра nlndex функции GetDeviceCaps

Инлекс

Описание

ASPECTX

Относительная ширина пикселя устройства, используемого для вывода линии.

ASPECTXY

Ширина по диагонали пикселя устройства, используемого для вывода линии.

ASPECTY

Относительная высота пикселя устройства, используемого для вывода линии.

BITSPIXEL

Число смежных битов цвета для каждого пикселя.

BLTALIGNMENT

(Только Windows 2000) Предпочтительное выравнивание вывода по горизонтали, выраженное целым числом пикселей. Для обеспечения максимальной производительности вывода окно должно быть выровнено по горизонтали по границе, кратной этому значению. Значение 0 указывает, что устройство оборудовано ускорителем и может применяться любое выравнивание.

CLIPCAPS

Флажок, который указывает возможности отсечения устройства. Допустимы следующие возвращаемые значения:

Возможность              Описание

CP_NONE                

Устройство не может отсекать вывод.

CP_RECTANGLE  

Устройство может отсекать вывод в прямоугольную область

CP_REGION32          

Устройство может отсекать вывод в любую область

COLORRES

Фактическая разрешающая способность устройства по цвету, в битах на пиксель. Это значение может применяться, только если драйвером устройства установлен бит RC_P ALETTE в индексе RASTERCAPS.

IpPoint

LPPOINT. Указатель на структуру POINT, в которую должны быть записаны координаты начала координат заключительного преобразования.

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

BOOL. В случае успешного выполнения — TRUE; в ином случае возвращаемое значение — FALSE.

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

S wingdi.h 

См. также

CreateIC

Пример

См. пример для функции GetDCEx

GetDeviceCaps                          • Windows 98   • Windows 2000

Описание

Функция GetDeviceCaps выбирает определенную информацию об указанном устройстве, например, эта функция позволяет узнать, можно ли печатать на устройстве графические изображения, какова разрешающая способность экрана и т.д.

Синтаксис

int GetDeviceCaps( HDC hDC, int nlndex )

Параметры

hDC

HDC. Дескриптор контекста устройства (DC).

п Index

int. Информация, которая должна быть возвращена функцией. Этот параметр может иметь одно из значений, приведенных в табл. 12.11.

Значение

Описание

LC_POLYMARKER

Устройство может выводить несколько маркеров.

LC_STYLED

Устройство может выводить стилизованные линии.

LC_WIDE

Устройство может выводить широкие линии.

LC_WIDESTYLED

Устройство может выводить широкие стилизованные линии.

LOGPIXELSX

Число пикселей на логический дюйм по ширине экрана.

LOGPIXELSY

Число пикселей на логический дюйм по высоте экрана.

NUMBRUSHES

Число кистей, зависящих от устройства.

NUMCOLORS

Число входов в таблице цветов устройства.

NUMFONTS

Число шрифтов, зависящих от устройства.

NUMPENS

Число перьев, зависящих от устройства.

NUMRESERVED

Число зарезервированных входов в системной палитре; это значение может применяться, только если драйвером устройства установлен бит RC_PALETTE в индексе RASTERCAPS.

PDEVICESIZE

Зарезервированное значение.

PHYSICALHEIGHT

Высота физической страницы в пикселях.

PHYSICALOFFSETX

Смещение в пикселях в направлении X от левого верхнего угла физической страницы, где фактически начинается печать или вывод.

PHYSICALOFFSETY

Смещение в пикселях в направлении Y от левого верхнего угла физической страницы, где фактически начинается печать или вывод.

PHYSICALWIDTH

Ширина физической страницы в пикселях.

PLANES

Число цветовых плоскостей.

POLYGONALCAPS

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

Значение

Описание

PC_INTERIORS

Устройство может закрашивать внутренние области.

PC_NONE

Устройство не поддерживает многоугольники.

PC_POLYGON

Устройство может выводить многоугольники, заполняя их с учетом чередования сторон.

PC_RECT ANGLE

Устройство может выводить прямоугольники.

PC_SCANLINE

Устройство может выводить отдельную строку развертки.

PC_STYLED

Устройство может выводить стилизованные рамки.

PC_TRAPEZOID

Устройство может выводить трапеции.

PC_WIDE

Устройство может выводить широкие рамки.

PC_WIDESTYLED

Устройство может выводить широкие стилизованные рамки.

PC_WINDPOLYGON

Устройство может выводить многоугольники, заполняя их с учетом числа кручения.

Инлекс                        Описание

RASTERCAPS            Растровые возможности устройства. Возвращаемое значение может представлять собой комбинацию следующих флажков:

Возможность

Описание

RC_BANDING

Требует поддержки разбиения на полосы.

RC_BITBLT

Способно передавать растровые изображения.

RCJBITMAP64

Способно поддерживать растровые изображения, превышающие по размерам 64 Кб.

RC_M_BITMAP

Способно поддерживать функции SetDIBtts и GetDIBrts.

RCJMBTODEV

Способно поддерживать функцию SetDIBttsToDevice.

RC_DEVBITS

Способно поддерживать аппаратно-зависимые растровые изображения.

RC_FLOODHLL

Способно осуществлять заполнение заливкой.

RC_NEWDffi

Способно поддерживать аппаратно-независимый формат растрового изображения, отличный от формата с 1, 4, 8 и 24 битами на пиксель.

RC_NONE

Устройство не имеет растровых возможностей.

RC_OP_DX_OUTPUT

Способно заливать фон кроющей краской одновременно с выводом глифов символов. Поддерживает массив Ох функции ExtTextOut.

RC_PALETTE

Указывает на устройство, действующее на основе палитры.

RC_SAVEBITMAP

Способно сохранить одно растровое изображение, снятое с дисплея, или восстановить на дисплее одно, ранее сохраненное растровое изображение.

RC_SCALING

Способно к масштабированию.

RC_STRETCHBLT

Способно выполнять функцию StretchBtt.

RC_STRETCHDIB

Способно выполнять функцию StretchDIBits.

SCALINGFACTORX

Коэффициент масштабирования для оси ж принтера.

SCALINGFACTORY

Коэффициент масштабирования для оси у принтера.

SHADEBLENDCAPS

Указывает на возможности устройства по затемнению и микшированию.

Возможность

Описание

SB_CONST_ALPHA

Обрабатывает член SourceConstantAlpha структуры BLENDFUNCTION.

SB_GRAD_RECT

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

SB_GRAD_TRI

Способно создавать градиентный треугольник.

SB_NONE

Устройство не поддерживает ни одну из этих возможностей.

SB_PIXEL_ALPHA

Способно выполнять альфа-микширование в каждом пикселе.

SB_PREMULT_ALPHA

Способно выполнять альфа-микширование после предварительной обработки пикселей.

Индекс

Описание

SIZEPALETTE

Число входов в системной палитре; это значение может применяться только при условии установки драйвером устройства бита RC PALETTE в индексе RASTERCAPS.

TECHNOLOGY

Технология устройства. Если параметр hDC обозначает контекст устройства расширенного метафайла, то технологией устройства считается соответствующее значение для рассматриваемого устройства, переданное функции CreateEnhMetaFile. Для определения того, относится ли данный контекст устройства к расширенному метафайлу, применяется функция GetObjectType. Допустимы следующие возвращаемые значения:

Значение

Описание

DT_CHARSTREAM

Поток символов.

DT_DBPFILE

Файл дисплея.

DT_METAFILE

Метафайл.

DT_PLOTTER

Векторный графопостроитель.

DT_RASCAMERA

Растровая камера.

DT_RASDISPLAY

Растровый дисплей.

DT_RASPRINTER

Растровый принтер

TEXTCAPS

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

Бит

Описание  

TC_CP_STROKE

Устройство способно обеспечить точность вырезки   на уровне отдельного штриха.

TC_CR_90

Устройство способно поворачивать символы на угол 90°.

TC_CR_ANY

Устройство способно поворачивать символы на любой угол.

TC_EA_DOUBLE

Устройство может выводить символы с двойным весом.

TC_IA_ABLE

Устройство может выводить символы курсивом.

TC_OP_CHARACTER

Устройство способно обеспечить точность вывода на уровне отдельного символа.

TC_OP_STROKE

Устройство способно обеспечить точность вывода на уровне отдельного штриха.

TC_RA_ABLE

Устройство может выводить растровые шрифты.

TC_RESERVED

Зарезервированное значение; должно быть равно 0.

TC_SA_CONTIN

Устройство позволяет использовать любые коэффициенты для точного масштабирования символов.

TC_SA_DOUBLE

Устройство способно удваивать символы при масштабировании.

TC_SA_INTEGER

Устройство позволяет использовать для масштабирования символов только целочисленные   коэффициенты

TC_SCROLLBLT

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

TC_SF_X_YINDEP

Устройство способно выполнять масштабирование отдельно в направлениях х и у.

TC_SO_ABLE

Устройство может выводить перечеркнутые символы.

TC_UA_ABLE

Устройство может выводить подчеркнутые символы.

TC_VA_ABLE

Устройство может выводить векторные шрифты.

VERTRES

Высота экрана в строках растра.

VERTSIZE

Высота экрана в миллиметрах.

VREFRESH

(Только Windows 2000) Для устройств отображения текущая частота регенерации по вертикали в герцах. Значение частоты регенерации по вертикали, равное 0 или 1 , представляет заданную по умолчанию частоту регенерации аппаратного устройства отображения.

Возвращаемое

значение int. Значение желаемого элемента.

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

wingdi.h

См. также

CreateIC, CreateDC, GetDC

Пример

См. пример для функции CreatelC.

GetFontData                             • Windows 98   + Windows 2000

Описание

Функция GetFontData выбирает данные метрики для шрифта TrueType. В приложении можно выбрать весь файл шрифта, указав в качестве параметров dwTable, dwOffset и cbData значение 0.

Синтаксис

DWORD GetFontData( HDC hDC, DWORD dwTable, DWORD dwOffset, LPVOID IpvBuffer, DWORD cbData )

Параметры

hDC

HDC. Дескриптор контекста устройства.

dwTable

DWORD. Имя таблицы метрики шрифта, из которой должны быть получены данные о шрифте. Если этот параметр равен 0, выборка информации происходит с начала файла шрифта.

dwOffset

DWORD. Смещение от начала таблицы метрики шрифта до того места, где функция должна начать выборку информации. Если этот параметр равен 0, выборка информации происходит с начала файла шрифта.

IpvBuffer

LPVOID. Указатель на буфер, в который должна быть записана информация о шрифте. Если этот параметр установлен равным NULL, возвращается размер буфера, необходимый для записи данных шрифта.

cbData

DWORD. Объем в байтах информации, которая должна быть получена. Если значение этого параметра установлено равным 0, возвращается размер данных, указанных в параметре dwTable.

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

DWORD. Число возвращенных байтов. В случае возникновения ошибки возвращаемое значение — GDI_ERROR.

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

wingdi.h

См. также

GetTextMetrics, GetOutlineTextMetrics

Пример

В следующем примере показано использование функции GetFontData для выборки данных шрифта, который может быть внедрен в документ.

См.    \local-sov

irces\chapl2\12-10. txt

GetFontLanquaqelnfo                   • Windows 98   • Windows 2000

Описание

Функция GetFontLanguagelnfo возвращает информацию о выбранном в настоящее время шрифте для контекста устройства отображения. В приложении   можно   получить   эту   информацию   и   вызвать   функцию GetCharacterPlacement для подготовки символьной строки к отображению.

Синтаксис

DWORD GetFontLanguageInfo( HDC hDC )

Параметры

hDC

HDC. Дескриптор контекста устройства отображения.

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

DWORD. Характеристики выбранного шрифта. Если шрифт нормализован и может рассматриваться как простой шрифт для латинских языков, возвращаемое значение — 0. В случае возникновения ошибки возвращаемое значение — GCP_ERROR В ином случае функция возвращает комбинацию значений, перечисленных в табл. 12.12; эту комбинацию после применения маски FLI_MASK можно передавать непосредственно функции GetCharacterPlacement.

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

wingdi.h

См. также

GetCharacterPlacement

Таблица 12. 12. Возвращаемые значения функции GetFontLanguagelnfo

Значение

Описание

GCP_DBCS

Набор символов является двухбайтовым (DBCS — double-byte character set).

GCP_DIACRmC

Шрифт содержит диакритические глифы.

FLI_GLYPHS

Шрифт содержит дополнительные глифы, к которым обычно нельзя получить доступ с использованием кодовой страницы. Для доступа к глифам применяется функция GetCharacterPlacement.

GCP_GLYPHSHAPE

Шрифт содержит несколько глифов в расчете на кодовую точку или на комбинацию кодовых точек (обеспечивает изменение формы литеры и/ или создание лигатур), а также содержит расширенные таблицы глифов, позволяющие предоставить дополнительные глифы для дополнительных форм. Если задано это значение, при вызове функции GetCharacterPlacement должен использоваться массив /pG/yphs, а при выводе строки функции ExtTextOut должно быть передано значение ETO_GLYPHINDEX.

GCP_KASH1DA

Шрифт позволяет использовать кашиды (протяжки, предусмотренные в арабском письме).

GCPJ.IGATE

Шрифт содержит глифы создания лигатур, которыми могут быть заменены конкретные комбинации символов.

GCP_REORDER

В состав шрифта входят символы, которые требуют переупорядочения при отображении, например буквы еврейского или арабского алфавита.

GCP_USEKERNING

Шрифт содержит таблицу регулирования межсимвольного промежутка (апроша) в характерных сочетаниях пар знаков, которая может использоваться для выбора лучшего интервала между символами и глифами.

Пример

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

См.    \local-soi

irces\chap!2\12-ll . txt

GetGraphicsMode                       • Windows 98   4 Windows 2000

Описание

Функция GetGraphicsMode позволяет определить текущий графический режим для указанного контекста устройства.

Синтаксис

rat GetGraphicsMode( HDC hDC)

Параметры

hDC

HDC. Обозначает контекст устройства.

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

int. В случае успешного выполнения функции, возвращаемое значение — текущий графический режим. Если текущий графический режим является совместимым с Windows 3.x, возвращаемое значение — GM_COMPATIBLE. В этом графическом режиме приложение не может устанавливать или изменять универсальное преобразование для указанного контекста устройства. Это — единственный режим, поддерживаемый в Windows 98. В Windows 2000 может быть установлено значение GM_ADVANCED, которое указывает, что текущий режим является расширенным графическим режимом. В этом графическом режиме приложение может устанавливать или изменять универсальное преобразование для указанного контекста устройства.

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

wingdi.h

См. также

SetGraphicsMode

GetMapMode                           • Windows 98   • Windows 2000

Описание

Функция GetMapMode позволяет определить текущий режим отображения. В приложении эта функция обычно используется с окнами, которые включают стиль CS_OWNDC. Это позволяет отслеживать в окне изменения контекста устройства, определив приватную область памяти для этого контекста устройства.

Синтаксис

hit GetMapMode( HDC hDC )

Параметры

hDC

HDC. Дескриптор контекста устройства.

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

int. В случае успешного выполнения — режим отображения; в ином случае возвращаемое значение — 0. Значения разных режимов отображения приведены в описании функции Set Map Mode.

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

wingdi.h

См. также

SetMapMode

Пример

См. пример для функции SetMapMode.

GetSystemMetrics                       • Windows 98   * Windows 2000

Описание

Функция GetSystemMetrics позволяет определить характеристики элемента отображения Windows или установки конфигурации системы. Все размеры даны в пикселях.

Синтаксис

int GetSystemMetrics( int nlndex )

Параметры

nIndex

int. Характеристики или установки конфигурации системы, которые должны быть возвращены функцией. Этот параметр должен иметь одно из значений, перечисленных в табл. 12.13.

Таблица 12. 13. Значения параметра nlndex функции GetSystemMetrics

Значение

Описание

SM_ARRANGE

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

Значение

Описание

ARW_BOTTOMLEFT

Начинать упорядочение с левого нижнего угла экрана (позиция, заданная по умолчанию).

ARW_BOTTOMRIGH1

'  Начинать упорядочение с правого нижнего угла экрана.

ARW_HIDE

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

ARW_STARTRIGHT

То же, что и ARW_BOTTOMRIGHT.

ARW_STARTTOP

Начинать упорядочение с левого верхнего угла экрана.

ARW_TOPLEFT

То же, что и ARW_STARTTOP.

ARW_TOPRIGHT

Начинать упорядочение с правого верхнего угла экрана. Флажок эквивалентен комбинации ARW_STARTTOP | ARW_STARTRIGHT.

Направление, в котором происходит упорядочение, может иметь одно из следующих значений:

Значение

Описание

ARW_DOWN

Упорядочивать по вертикали, сверху вниз.

ARW_LEFT

Упорядочивать по горизонтали, слева направо.

ARW_RIGHT

Упорядочивать по горизонтали, справа налево.

ARW_UP

Упорядочивать по вертикали, снизу вверх.

SM_CLEANBOOT

Значение, которое указывает, как произошел запуск системы:

0

Нормальная начальная загрузка.

1

Начальная загрузка в режиме защиты от сбоев.

2

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

SM_CMETRICS

Число системных показателей и флажков.

SM_CMONITORS

Число устройств отображения на рабочем столе.

SM CMOUSEBUTTONS

Число кнопок мыши или 0, если мышь не установлена.

SM CXBORDER

Ширина одинарной рамки в пикселях.

SM_CYBORDER

Высота одинарной рамки в пикселях.

SM_CXCURSOR

Ширина стандартных растровых изображений курсора в пикселях.

SM_CYCURSOR

Высота стандартных растровых изображений курсора в пикселях.

SM_CXDLGFRAME

Этот параметр является устаревшим; в Windows 98 и последующих версиях вместо него должен применяться SM_CXFIXEDFRAME.

SM_CYDLGFRAME

Этот параметр является устаревшим; в Windows 98 и последующих версиях вместо него должен применяться SM CYFIXEDFRAME.

SM_CXDOUBLECLK

Ширина в пикселях прямоугольной области, внутри которой должны произойти два последовательных щелчка мыши, чтобы был зафиксирован двойной щелчок.

SM_CYDOUBLECLK

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

SM_CXDRAG

Ширина в пикселях прямоугольной области, применяемой для обнаружения начала операции перетаскивания.

SM_CYDRAG

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

SM_CXEDGE

Ширина края (двойной рамки) в пикселях.

SM_CYEDGE

Высота края (двойной рамки) в пикселях.

SM_CXFIXEDFRAME

Ширина в пикселях рамки окна, которое имеет стиль WS DLGFRAME.

SM_CYFIXEDFRAME

Высота в пикселях рамки окна, которое имеет стиль WS_DLGFRAME.

SM_CXFRAME

Этот параметр является устаревшим; в Windows 98 и последующих версиях вместо него должен применяться SM_CXSIZEFRAME.

SM_CYFRAME

Этот параметр является устаревшим; в Windows 98 и последующих версиях вместо него должен применяться SM_CYSIZEFRAME.

SM_CXFULLSCREEN

Заданная по умолчанию ширина в пикселях клиентской области развернутого окна верхнего уровня.

SM_CYFULLSCREEN

Заданная по умолчанию высота в пикселях клиентской области развернутого окна верхнего уровня.

SM_CXICON

Ширина большой пиктограммы в пикселях.

SM_CYICON

Высота большой пиктограммы в пикселях.

SM_CXICONSPACING

Ширина в пикселях ячейки координатной сетки для элементов, представляемых в виде больших пиктограмм. Это значение всегда больше или равно SM_CXICON.

SM_CYICONSPACING

Высота в пикселях ячейки координатной сетки для элементов, представляемых в виде больших пиктограмм. Это значение всегда больше или равно SM__CYICON.

SM_CXMAXIMIZED

Заданная по умолчанию ширина развернутого окна верхнего уровня в пикселях.

SM_C /MAXIMIZED

Заданная по умолчанию высота развернутого окна верхнего уровня в пикселях.

SM_CXMAXTRACK

Заданная по умолчанию максимальная ширина окна, которое имеет заголовок и рамки установления размеров.

SM_CYMAXTRACK

Заданная по умолчанию максимальная высота окна, которое имеет заголовок и рамки установления размеров.

SM_CXMENUCHECK

Ширина в пикселях заданного по умолчанию растрового изображения отметки меню.

SM_CYMENUCHECK

Высота в пикселях заданного по умолчанию растрового изображения отметки меню.

SM_CXMENUSIZE

Ширина кнопок строки меню в пикселях.

SM_CYMENUSIZE

Высота кнопок строки меню в пикселях.

SM_CXMIN

Устаревший параметр. То же, что и SM_CXMINTRACK.

SM_CYMIN

Устаревший параметр. То же, что и SM_CYMINTRACK.

SM_CXMINIMIZED

Ширина нормального свернутого окна в пикселях.

SM_CYMINIMIZED

Высота нормального свернутого окна в пикселях.

SM_CXMINSPACING

Ширина ячейки координатной сетки для свернутых окон в пикселях. Это значение всегда больше или равно SM_CXMINIMIZED.

SM_CYMINSPACING

Высота ячейки координатной сетки для свернутых окон в пикселях. Это значение всегда больше или равно SM_CYMINIMIZED.

SM_CXMINTRACK

Заданная по умолчанию минимальная ширина окна с заголовком и рамками установления размеров.

SM_CYMINTRACK

Заданная по умолчанию минимальная высота окна с заголовком и рамками установления размеров.

SM_CXSCREEN

Ширина экрана в пикселях.

SM_CYSCREEN

Высота экрана в пикселях.

SM_CXSIZE

Ширина кнопок заголовка в пикселях.

SM_CYSIZE

Высота кнопок заголовка в пикселях.

SM_CXSIZEFRAME

Ширина в пикселях рамки окна, которое имеет стиль WS_THICKFRAME.

SM_CYSIZEFRAME

Высота в пикселях рамки окна, которое имеет стиль WSJTHICKFRAME.

SM CXSMICON

Рекомендуемая ширина малой пиктограммы в пикселях.

SM_CYSMICON

Рекомендуемая высота малой пиктограммы в пикселях.

SM_CXSMSIZE

Ширина малых кнопок заголовка в пикселях.

SM_CYSMSIZE

Высота малых кнопок заголовка в пикселях.

SM_CXVIRTUALSCREEN

Ширина виртуального экрана в пикселях.

SM_CYVIRTUALSCREEN

Высота виртуального экрана в пикселях.

SM_CXVSCROLL

Ширина вертикальной линейки прокрутки в пикселях.

SM_CYVSCROLL

Высота растрового изображения стрелки на вертикальной линейке прокрутки в пикселях.

SM CXHSCROLL

Ширина растрового изображения стрелки на горизонтальной линейке прокрутки в пикселях.

SM_CYHSCROLL

Высота горизонтальной линейки прокрутки в пикселях.

SM_CXHTHUMB

Заданная по умолчанию ширина ползунка на горизонтальной линейке прокрутки в пикселях.

SM_CYVTHUMB

Заданная по умолчанию высота ползунка на вертикальной линейке прокрутки в пикселях.

SM_CYCAPTION

Высота нормальной области заголовка в пикселях.

SM_CYKANJIWINDOW

Для версии Windows с двухбайтовым набором символов (DBCS) высота окна японских иероглифов кандзи в нижней части экрана.

SM_CYMENU

Высота однострочной строки меню в пикселях.

SM_CYSMCAPTION

Высота малого заголовка в пикселях.

SM_DBCSENABLED

TRUE, если установлена версия пользовательской программы USER.EXE для двухбайтового набора символов (DBCS); в ином случае — FALSE.

SM_DEBUG

TRUE, если установлена отладочная версия пользовательской программы USER.EXE; в ином случае — FALSE.

SMJMMENABLED

TRUE, если разрешены средства диспетчера метода ввода/ редактора метода ввода (Input Method Manager/Input Method Editor); в ином случае — FALSE.

SM_HIGHCONTRAST

TRUE, если пользователь нуждается в отображении визуальной информации с высоким контрастом между основным и фоновым изображением; в ином случае — FALSE.

SM_KEYBOARDPREF

TRUE, если пользователю необходимо использовать клавиатуру вместо мыши и требуется, чтобы в приложении были отображены клавиатурные интерфейсы, которые при других обстоятельствах были бы скрыты; в ином случае — FALSE.

SM_MENUDROP ALIGNMENT

TRUE, если всплывающие меню выравниваются по правому краю относительно соответствующего элемента строки меню;  FALSE, если они выравниваются по левому краю.

SM_MIDEASTENABLED

TRUE, если в системе разрешено применение еврейского или арабского языков.

SM_MOUSEPRESENT

TRUE, если мышь установлена; в ином случае — FALSE.

SM MOUSEWHEELPRESENT

TRUE, если установлена мышь с колесиком; в ином случае — FALSE.

SM_NETWORK

Если сеть доступна, установлен наименьший значащий бит; в ином случае он очищен. Другие биты зарезервированы для использования в будущем.

SM_PENWINDOWS

TRUE, если установлены расширения Microsoft Windows для работы с пером; в ином случае — FALSE.

SM_REMOTESESSK>N

TRUE, если вызывающий процесс связан с сеансом клиента терминальных служб Terminal Services; в ином случае — FALSE.

SM_SAMEDISPLAYFORMAT

TRUE, если все устройства отображения имеют одинаковый формат цвета; в ином случае — FALSE.

SM_SCREENREADER

TRUE, если выполняется утилита обзора- экрана, в ином случае — FALSE. Утилита обзора экрана направляет текстовую информацию на такое устройство вывода, как синтезатор речи или дисплей Брайля (для слепых). Если этот флажок установлен, приложение должно представить пользователю информацию в текстовом виде в тех ситуациях, когда при иной установке флажка оно представило бы информацию графически.

SM_SECURE

TRUE, если применяются средства защиты; в ином случае — FALSE.

SM_SHOWSOUNDS

TRUE, если пользователю необходимо, чтобы приложение представило информацию в визуальной форме в тех ситуациях, когда при иной установке флажка оно представило бы информацию только в звуковой форме; в ином случае — FALSE.

SM_SLOWMACHINE

TRUE, если компьютер имеет процессор с низкой производительностью; в ином случае — FALSE.

SM_SWAPBUTTON

TRUE, если значения левой и правой кнопок мыши изменены на противоположные; в ином случае — FALSE.

SM_XVIRTUALSCREEN

Левая сторона виртуального экрана.

SM_YVIRTUALSCREEN

Верхняя часть виртуального экрана.

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

int. Затребованный параметр системы или конфигурации.

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

winuser.h

См. также

GetDeviceCaps

Пример

См. пример для функции GetWindowDC.

GetViewportExtEx                        • Windows 98   • Windows 2000

Описание

Функция GetViewportExtEx выбирает экстенты х и у текущей области про» смотра для контекста устройства (DC). Режимы отображения MM_ISOTROPIC и MM_ANISOTROPIC позволяют задать логическую систему координат контекста устройства с любым произвольным коэффициентом масштабирования по отношению к физическому устройству. Для определения текущего масштабирования одновременно применяются функции GetViewportExtEx и GetWindowExtEx. Коэффициент масштабирования представляет собой отношение экстента области просмотра к экстенту окна.

Синтаксис

BOOL GetViewportExtEx( HDC hDC, LPSIZE IpSize )

Параметры

hDC

HDC. Дескриптор контекста устройства.

IpSize

LPSIZE. Указатель на структуру SIZE. В эту структуру будут помещен значения экстентов * и у в единицах длины устройства.

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

BOOL. В случае успешного выполнения — TRUE; в ином случае возвр»1 щаемое значение — FALSE.

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

wingdi.h

См. также

GetWindowExtEx, GetViewportOrgEx

Пример

См. пример для функции SetMapMode,

GetViewportOrgEx                      • Windows 98   • Windows 2000

Описание

Функция GetViewportOrgEx выбирает координаты х и у начала координа области просмотра для контекста устройства (DC). Система Windows пс зволяет применять два смещения к началу координат (точка с координатами 0,0) логической системы координат. Функция SetWindowOrgEx устанавливает первое смещение, которое называется "началом координат окна". Функция SetViewportOrgEx устанавливает второе смещение, которое называется "началом координат области просмотра". Начало координат области просмотра располагается относительно начала координат окна, поэтому   начало   координат  области   просмотра  можно   рассматривать   как смещение по отношению к другому смещению.

Синтаксис

BOOL GetViewportOrgEx( HDC hDC, LPPOINT IpPoint )

Параметры

hDC

HDC. Дескриптор контекста устройства.

IpPoint

LPPOINT. Указатель на структуру POINT, которая принимает координаты начала координат.

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

BOOL. В случае успешного выполнения — TRUE; в ином случае возвращаемое значение — FALSE.

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

wingdi.h

См. также

GetWindowOrgEx, GetViewportExtEx

Пример

В следующем примере, показанном на рис. 12.4, создается окно с приватным контекстом устройства (для класса окна указан стиль CS_OWNDC). При получении каждого сообщения WM_SIZE программа в режиме отображения MM ISOTROPIC переустанавливает коэффициенты масштабирования логического устройства, а также начало координат окна и начало координат области просмотра. Начало координат области просмотра совмещается с левым нижним углом окна, а начало координат окна сдвигается на 10 единиц длины. Поскольку после вызова функции SetWindowOrgEx начало координат окна всегда сдвигается на 10 единиц длины и в горизонтальном, и в вертикальном направлениях, создается впечат-