ства. Если параметр IpPoint равен NULL, функция не возвращает предыдущее значение начала координат области просмотра. |
|||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае возвращаемое значение — FALSE. |
||||||
Включаемый файл |
wingdi.h |
||||||
См. также |
GetViewportOrgEx, SetViewportOrgEx |
||||||
Пример |
В следующем примере создается окно с приватным контекстом устройств; (для класса окна указан стиль CS_OWNDC). При получении каждого сообщения \VM_SIZE программа переустанавливает коэффициенты масштабирования устройства, а также начало координат окна и начало координат об ласти просмотра. Применяется режим отображения MM_ISOTROPIC. Начало координат области просмотра совмещается с левым нижним углок окна. Поскольку после вызова функции SetWindowOrgEx начало координат окна всегда сдвигается на 10 единиц длины и в горизонтальном, и i вертикальном направлениях, создается впечатление, что начало координа" области просмотра находится в месте, расположенном на 10 единиц дли ны выше и правее левого нижнего угла. Когда пользователь выбирает пункт меню Test!, горизонтальное смещение окна становится равным нулю (к прежнему смещению, равному -10 добавляет 10). Начало координат области просмотра также сдвигается на 5 еди ниц длины и в горизонтальном, и в вертикальном направлениях. В резуль тате объединения действий этих двух смещений начало координа' сдвигается вправо на 15 пикселей и вниз на 5 пикселей (рис. 12.4). |
||||||
См. \local-sources\chapl2\12-14.txt |
|||||||
OffsetWindowOrgEx • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция OffsetWindowOrgEx позволяет изменить начало координат окш для указанного контекста устройства (DC) с использованием заданны; значений горизонтального и вертикального смещений. |
||||||
Синтаксис |
BOOL OffsetWindowOrgEx( HDC hDC, int nXOffset, int nYOffset, LPPOINT IpPoint) |
||||||
Параметры |
|||||||
hDC |
HDC. Дескриптор контекста устройства. |
||||||
nXOffset |
int. Горизонтальное смещение в логических единицах длины. |
||||||
nYOffset |
int. Вертикальное смещение в логических единицах длины. |
||||||
IpPoint |
LPPOINT. Указатель на структуру POINT, которая принимает предыду щее значение начала координат окна. Если параметр IpPoint равен NULL функция не возвращает предыдущее значение начала координат. |
||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае возвращаемое значение — FALSE. |
||||||
Включаемый файл |
wingdi.h |
||||||
См. также |
GetWindowOrgEx, SetWindowOrgEx, OffsetViewportOrgEx |
||||||
Пример |
См. пример для функции OflsetViewportOrgEx. |
||||||
RectVisible • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция RectVisible позволяет определить, находится ли какая-либо часть указанного прямоугольника внутри области отсечения контекста устройства (DC). Эта функция позволяет узнать, не приведет ли попытка вывести на экран содержимое какого-либо прямоугольника к тому, что он попадет за пределы области отсечения. |
||||||
Синтаксис |
BOOL RectVisibIe( HDC hDC, CONST RECT* Iprc ) |
||||||
Параметры |
|||||||
hDC |
HDC. Дескриптор контекста устройства. |
||||||
Iprc |
CONST RECT*. Указатель на структуру RECT, которая содержит логические координаты прямоугольной области, для которой должна быть выполнена проверка. |
||||||
Возвращаемое значение |
BOOL. TRUE, если часть прямоугольника находится внутри области отсечения; в ином случае возвращаемое значение — FALSE. |
||||||
Включаемый файл |
wingdi.h |
||||||
См. также |
PtVisible, RectlnRegion, SelectCiipRgn, CreateRectRgn |
||||||
Пример |
См. пример для функции PtVisible. |
||||||
PtVisible • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция ItVisible позволяет определить, находится ли данная точка внутри области отсечения контекста устройства (DC). |
||||||
Синтаксис |
BOOL PtVisible( HDC hDC, int X, int Y) |
||||||
Параметры |
|||||||
hDC |
HDC. Дескриптор контекста устройства. |
||||||
X |
int. Логическая координата х точки. |
||||||
Y |
int. Логическая координата у точки. |
||||||
Возвращаемое значение |
BOOL. TRUE, если данная точка находится внутри области отсечения контекста устройства; в ином случае возвращаемое значение — FALSE. |
||||||
Включаемый файл |
wingdi.h |
||||||
См. также |
RectVisible, PtlnRegion, PtlnRect, SelectCiipRgn |
||||||
Пример |
В следующем примере, когда пользователь выбирает пункт меню Test!, отображается текст, в котором указано, находится ли курсор мыши внутри области отсечения. На рис. 12.6 показан пример, когда пункт меню Test! выбран в то время, как курсор мыши находится внутри области отсечения. Обратите внимание, что показан только черный прямоугольник, если внутри области отсечения отображается часть прямоугольника. |
||||||
ReleaseDC • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция ReleaseDC освобождает контекст устройства (DC), позволяя использовать его в других приложениях. Функция ReleaseDC освобождает только общедоступные контексты устройства и контексты устройства окна; действие этой функции не распространяется на контексты устройства класса или приватные контексты устройства. Рекомендуется использовать функцию ReleaseDC непосредственно после завершения вывода. При обработке сообщения WM_PAINT для освобождения контекста устройства, полученного с применением функции BeginPaint, предназначена функция EndPaint. |
||||||
Синтаксис |
int ReleaseDC( HWND hWnd, HDC hDC ) |
||||||
Параметры hWnd |
HWND. Дескриптор окна, для которого должен быть освобожден контекст устройства. |
||||||
hDC |
HDC. Дескриптор контекста устройства, который должен быть освобожден. |
||||||
Возвращаемое значение |
int. TRUE, если контекст устройства был освобожден; в ином случае возвращаемое значение — FALSE. |
||||||
Включаемый файл |
wingdi.h |
||||||
См. также |
GetDC, GetWindowDC, EndPaint, DeleteDC |
||||||
Пример |
См. пример для функции GetWindowDC. |
||||||
RemoveFontMemResourceEx • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция RemoveFontMemResourceEx удаляет шрифты, добавленные из файла отображения памяти. |
||||||
Синтаксис |
BOOL RemoveFontMemResourceEx( HANDLE fli ) |
||||||
Параметры |
HANDLE. Дескриптор ресурса шрифта. Это дескриптор, который возвр щен функцией AddFontMemResourceEx. |
||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае возвращаемое значение — FALSE. |
||||||
Включаемый файл |
wingdi.h |
||||||
См. также |
AddFontMemResourceEx |
||||||
RemoveFontResource • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция RemoveFontResource удаляет из таблицы шрифтов Windows шрифты, содержащиеся в указанном файле. Приложение, которое добавляет или удаляет шрифты из общедоступной таблицы шрифтов Windows, должно известить другие приложениях об этом изменении, отправив сообщение WM_FONTCHANGE всем окнам верхнего уровня в системе. Функция RemoveFontResource обычно применяется при обработке сообщения WM_DESTROY для удаления добавленных ресурсов шрифта. Б приложении не следует удалять обычные системные шрифты Windows или любые другие шрифты, которые не были загружены этим приложением. |
||||||
Синтаксис |
BOOL RemoveFontResource( LPCTSTR IpFileName ) |
||||||
Параметры |
|||||||
IpfileName |
LPCTSTR Указатель на строку с нулевым символом в конце, которая содержит имя файла ресурса шрифта. |
||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае возвращаемое значение — FALSE. |
||||||
Включаемыйфайл |
wingdi.h |
||||||
См. также |
AddFontResource, FindResource |
||||||
Соответствующие сообщения |
|||||||
WM_FONTCHANGE, WM_DESTROY |
|||||||
Пример |
См. пример для функции AddFontResource. |
||||||
RemoveFontResourceEx • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция RemoveFontResourceEx удаляет из системной таблицы шрифты, находящиеся в указанном файле. |
||||||
Синтаксис |
BOOL RemoveFontResourceEx( LPCTSTR IpFileName, DWORD dwFl, PVOID pdv ) |
||||||
Параметры |
|||||||
IpfileName |
LPCTSTR. Указатель на строку с нулевым символом в конце, которая содержит имя файла ресурса шрифта. |
||||||
dwFl |
DWORD. Указывает характеристики шрифта, который должен быть удален из системы. Для удаления шрифта необходимо использовать такие же флажки, как и при добавлении шрифта с применением функции AddFontResourceEx. |
||||||
pdv |
PVOID. Зарезервированное значение; должно быть равно нулю. |
||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае возвращаемое значение — FALSE. |
||||||
Включаемый файл |
wingdi.h |
||||||
См. также |
AddFontResourceEx, FindResource |
||||||
RestoreDC • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция RestoreDC восстанавливает записанное ранее состояние контекста устройства (DC). Контекст устройства DC восстанавливается в состояние, которое ранее было записано функцией SaveDC. Состояния контекста устройства хранятся в стеке. Если приложение восстанавливает состояние, не находящееся на вершине стека, функция RestoreDC удаляет всю информацию состояния, расположенную между вершиной стека и указанным экземпляром информации о состоянии. |
||||||
Синтаксис |
BOOL RestoreDC( HDC hDC, int nSavedDC ) |
||||||
Параметры |
|||||||
hDC |
HDC. Дескриптор контекста устройства, который должен быть восстановлен. |
||||||
nSavedDC |
int. Экземпляр контекста устройства, который должен быть восстановлен. Если параметр nSavedDC имеет положительное значение, он представля- |
||||||
ет конкретный экземпляр контекста устройства, который должен быть восстановлен. Если параметр nSavedDC имеет отрицательное значение, он представляет экземпляр, который определен относительно текущего контекста устройства. Например, при значении этого параметра -1 восстанавливается состояние, сохраненное последним. |
|||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае возвращаемое значение — FALSE. |
||||||
Включаемый файл |
wingdi.h |
||||||
См. также |
SaveDC, GetDC, BeginPaint |
||||||
Соответствую!!] |
(ие сообщения WM_PAINT |
||||||
Пример |
См. пример для функции SetMapMode. |
||||||
SaveDC • Windows 98 • Windows 2000 |
|||||||
Функция SaveDC сохраняет текущее состояние контекста устроистьа (DC), копируя в стек контекста данные, которые описывают выбранные объекты и графические режимы (растровые изображения, кисти, палитры, шрифты, перья, области, режимы вывода и режимы отображения). |
|||||||
Синтаксис |
intSaveDC(HDC hDC) |
||||||
Параметры hDC |
HDC. Дескриптор контекста устройства, который должен быть сохранен. |
||||||
Возвращаемое значение |
int. В случае успешного выполнения, сохраненный экземпляр контекста устройства; в ином случае возвращаемое значение — 0. |
||||||
Включаемый файл |
wingdi.h |
||||||
См. также |
RestoreDC, ReleaseDC, EndPaint |
||||||
Соответствую] |
щие сообщения WM_PAINT |
||||||
Пример |
См. пример для функции SetMapMode. |
||||||
ScaleViewportExtEx • Windows 98 • Windows 2000 |
|||||||
Функция ScaleViewportExtEx меняет область просмотра для контеклла устройства (DC) с использованием коэффициентов, полученных из указанных множителей и делителей. Экстенты области просмотра изменяются следующим образом: НовыйЭкстент Области Просмотрах -(СтарыйЭкстентОбластиПросмотраХ* Xnum) / XdenomНовыйЭкстентО&яастиПросмотраУ = (СтарыйЭкстентОбластиПросмотраУ* Ynum)/ Ydenom |
|||||||
Синтаксис |
BOOL ScaleViewportExtEx( HDC hDC, int Xnum, int Xdenom, int Ynum, in Ydenom, LPSIZE IpSize ) |
||||||
Параметры hDC |
HDC. Дескриптор контекста устройства, для которого должно быть вы полнено масштабирование. |
||||||
Xnum |
int. Величина, на которую должен быть умножен текущий горизонтальный экстент. |
||||||
Xdenom |
int Величина, на которую должен быть разделен текущий горизонтальный экстент. |
||||||
Ynum |
int. Величина, на которую должен быть умножен текущий вертикальный экстент. |
||||||
Ydenom |
int. Величина, на которую должен быть разделен текущий вертикальный экстент. |
||||||
IpSize |
LPSIZE. Указатель на структуру SIZE, которая принимает предыдущие экстенты области просмотра в единицах длины устройства. Если параметр IpSize равен NULL, функция не возвращает предыдущий экстент области просмотра. |
||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае возвращаемое значение — FALSE. |
||||||
Включаемый файл |
wingdi.h |
||||||
См. также |
ScaleWindowExtEx, SetViewportExtEx, GetViewportExtEx |
||||||
Пример |
В начале выполнения следующего примера инициализируются экстенты окна и области просмотра. Каждый раз, когда пользователь выбирает пункт меню Test!, происходит изменение коэффициентов масштабирования экстентов окна и области просмотра. В результате одна и та же линия по мере перемещения вниз по экрану становится длиннее. Класс окна имеет стиль CS_OWNDC, который указывает на приватный контекст устройства. Это значит, что стиль класса CS_OWNDC указан в функции WinMain. |
||||||
См. \local-sources\chapl2\12-16.txt |
|||||||
ScaleWindowExtEx • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция ScaleWindowExtEx меняет область просмотра для контекста устройства (DC) с использованием коэффициентов, полученных из указанных множителей и делителей. Экстенты окна изменяются следующим образом: НовыйЭкстентОкнаХ = (СтарыйЭкстентОкнаХ* Xnum) / Xdenom НовыйЭкстентОкнаУ = (СтарыйЭкстентОкнаХ* Ynum) / Ydenom |
||||||
Синтаксис |
BOOL ScaleWindowExtEx( HDC hDC, int Xnum, int Xdenom, int Ynum, int Ydenom, LPSIZE IpSize ) |
||||||
Параметры |
|||||||
hDC |
HDC. Дескриптор контекста устройства, для которого должно быть выполнено масштабирование. |
||||||
Xnum |
int. Величина, на которую должен быть умножен текущий горизонтальный экстент. |
||||||
Xdenom |
int Величина, на которую должен быть разделен текущий горизонтальный экстент. |
||||||
Ynum |
int. Величина, на которую должен быть умножен текущий вертикальный экстент. |
||||||
Ydenom |
int. Величина, на которую должен быть разделен текущий вертикальный экстент. |
||||||
IpSize |
LPSIZE. Указатель на структуру SIZE, которая принимает предыдущие экстенты окна в логических единицах длины. Если параметр IpSize равен NULL, функция не возвращает предыдущие экстенты окна. |
||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае возвращаемое значение — FALSE. |
||||||
Включаемый файл |
wingdi.h |
||||||
См. также |
ScaleViewportExtEx, GetWindowExtEx, SetWindowExtEx |
||||||
Пример |
См. пример для функции ScaleViewportExtEx. |
||||||
SelectObject • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция SelectObject выбирает объект в указанный контекст устройства. Новый объект заменяет в контексте устройства предыдущий объект тоге же типа. Функция SelectObject возвращает ранее выбранный объект. Закончив работу с контекстом устройства, приложение восстанавливает первоначальный объект. |
||||||
Синтаксис |
HGDIOBJ SelectObject( HDC hDC, HGDIOBJ hGDIObj ) |
||||||
Параметры |
|||||||
hDC |
HDC. Контекст устройства, в который выбран объект. |
||||||
hGDIObj |
HGDIOBJ. Объект, который должен быть выбран. Указанный объект должен быть создан с помощью одной из функций GDI, перечисленных в разделе "См. также" описания настоящей функции или должен представлять собой стандартный системный объект, полученный с помощью функции GetStockObject. |
||||||
Возвращаемое значение |
HGDIOBJ. Если выбранный объект не является областью и функция выполнена успешно, возвращаемое значение — дескриптор заменяемого объекта. Если выбранный объект — область и функция выполнена успешно, возвращаемым значением является SIMPLEREGION (если область состоит из одного прямоугольника), COMPLEXREGION (если область состоит из нескольких прямоугольников) или NULLREGION (если область пуста). Если возникает ошибка и выбранный объект не является областью, возвращаемое значение — NULL; в ином случае возвращаемое значение — GDI_ERROR |
||||||
Включаемый файл |
wingdi.h |
||||||
См. также |
CombineRgn, CreateBitmap, CreateBitmapIndirect, CreateBrushlndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBPatternBrush, Create EllipticRgn, CreateEUipticRgnlndirect, CreateFont, CreateFontlndirect, CreateHatchBrush, CreatePatternBrush, CreatePen, CreatePenlndirect, CreatePolygonRgn, CreateRectRgn, CreateRectRgnlndirect, CreateSolidBrush |
||||||
Пример |
См. пример для функции CreateFont. |
||||||
SetGraphicsMode • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция SetGraphicsMode устанавливает графический режим для указанного контекста устройства. В Windows 98 поддерживается только совместимый графический режим. Расширенный графический режим поддерживается только в Windows 2000. Этот графический режим обеспечивает преобразование из универсальной системы координат в систему координат устройства. Поскольку в Windows 98 этот режим не поддерживается, лучше всего добиться, чтобы расширенные метафайлы выглядели в этой системе так же, как в Windows 2000. Для этого в Windows 98 можно моделировать расширенный графический режим при отображении конкретных записей расширенных метафайлов. Ниже перечислены три области, в которых графический вывод изменяется в зависимости от графического режима. Вывод текста. В совместимом режиме вывод текста шрифтом TrueType (или векторным шрифтом) происходит во многом аналогично выводу текста растровым шрифтом в части преобразования из универсальной системы координат в систему координат устройства в контексте устройства. Вывод текста шрифтом TrueType всегда осуществляется слева направо и сверху вниз, даже если остальные графические компоненты зеркально перевернуты относительно оси х или у. При любых преобразованиях происходит только масштабирование высоты текста, выводимого шрифтом TrueType, с применением соответствующего коэффициента. Единственный способ вывода негоризонтального текста в совместимом режиме состоит в указании ненулевого значения смещения на ширину знака или применении другой ориентации для логического шрифта, выбранного в контексте устройства. В расширенном графическом режиме вывод текста шрифтом TrueType полностью соответствует преобразованию из универсальной системы координат в систему координат устройства в контексте устройства. Исключение прямоугольника. Если установлен совместимый графический режим, система исключает нижнюю и правую кромки при выводе на экран прямоугольников. В расширенном графическом режиме эти кромки включены.Вычерчивание дуг. Если установлен совместимый графический режим, интерфейс GDI вычерчивает дуги с использованием текущего направления черчения дуги в пространстве устройства. При использовании такого соглашения вычерчивание дуг не подчиняется преобразованиям из системы координат страницы в систему координат устройства, для которых требуется зеркальное отображение относительно осей х или у. В расширенном графическом режиме интерфейс GDI всегда вычерчивает дуги в направлении против часовой стрелки в логическом пространстве. |
||||||
Синтаксис |
int SetGraphicsMode( HDC hDC, int iMode ) |
||||||
Параметры |
|||||||
hDC |
HDC. Контекст устройства, для которого должен быть установлен графический режим. |
||||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.