Тарас Сорока - Русский справочник по Win32 API
В случае неудачи возвращается NULL .
Комментарии
Перед тем, как приложение сможет использовать контекст устройства в памяти для операций рисования, оно должно выбрать в контекст устройства битовый образ с корректной шириной и высотой. Как только битовый образ выбран, контекст устройства может быть использован для подготовки изображений, которые будут скопированы на экран или принтер.
Функция CreateCompatibleDC может быть использована только с теми устройствами, которые поддерживают растровые операции. Приложение может узнать о поддержке этих операций, вызвав функцию GetDeviceCaps .
В случае, если в контексте устройства отпала необходимость, вызовите функцию DeleteDC для его удаления.
См. также
CreateCompatibleBitmap, DeleteDC, GetDeviceCaps .
DeleteDC
Функция DeleteDC удаляет заданный контекст устройства.
BOOL DeleteDC (
HDC hdc // дескриптор контекста устройства
);
Параметры
hdc - идентифицирует контекст устройства.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль.
Комментарии
Приложение не должно удалять контекст устройства, чей дескриптор был получен вызовом функции GetDC . Вместо этого приложение должно вызвать функцию ReleaseDC для освобождения контекста устройства.
См. также
CreateDC, GetDC, ReleaseDC .
EnumObjects
Функция EnumObjects перечисляет перья или кисти, доступные для указанного контекста устройства. Эта функция вызывает определяемую приложением функцию обратного вызова один раз для каждого их доступных объектов, предоставляя данные, описывающие объект. EnumObjects продолжает вызывать функцию обратного вызова до тех пор, пока она не вернет нуль или не будут перечислены все доступные объекты.
int EnumObjects (
HDC hdc , // дескриптор контекста устройства
int nObjectType , // идентификатор типа объекта
GOBJENUMPROC lpObjectFunc , // указатель на функцию обратного вызова
LPARAM lParam // указатель на предоставляемые приложением данные
);
Параметры
hdc - идентифицирует контекст устройства.
nObjectType - определяет тип объекта. Может принимать значение OBJ_BRUSH или OBJ_PEN .
lpObjectFunc - указатель на определяемую приложением функцию обратного вызова. Для дополнительной информации об этой функции смотрите описание функции EnumObjectsProc .
lParam - указывает на определяемые приложением данные. Данные передаются в функцию обратного вызова вместе с информацией об объекте.
Возвращаемые значения
Возвращаемое значение определяет последнее значение, возвращенное функцией обратного вызова. Его смысл определяется пользователем. Возвращается -1 в случае наличия слишком большого количества объектов, подлежащих перечислению. В этом случае функция обратного вызова не вызывается.
См. также
EnumObjectsProc, GetObject .
GetDC
Функция GetDC извлекает дескриптор контекста дисплея для клиентской области указанного окна. Контекст дисплея может быть использован в последующих функциях GDI для рисования в клиентской области окна.
Эта функция извлекает общий, классовый или частный контекст устройства в зависимости от стиля класса, указанного для заданного окна. Для общих контекстов устройства GetDC присваивает контексту атрибуты по умолчанию каждый раз при извлечении контекста устройства. Для классовых и частных контекстов устройства GetDC оставляет ранее присвоенные атрибуты без изменений.
HDC GetDC (
HWND hWnd // дескриптор окна
);
Параметры
hWnd - идентифицирует окно, чей контекст устройства извлекается.
Возвращаемые значения
В случае успеха возвращается контекст устройства для клиентской области указанного окна.
В случае неудачи возвращается нуль.
Комментарии
После рисования с общим контекстом устройства должна быть вызвана функция ReleaseDC для освобождения контекста устройства. Классовые и частные контексты устройства не должны освобождаться. Количество контекстов устройства ограничено только объемом доступной памяти.
См. также
ReleaseDC, GetWindowDC .
ResetDC
Функция ResetDC обновляет данный контекст устройства плоттера или принтера, основываясь на информации в указанной структуре.
HDC ResetDC (
HDC hdc , // дескриптор контекста устройства
CONST DEVMODE * lpInitData // адрес структуры с информацией
// о контексте устройства
);
Параметры
hdc - идентифицирует контекст устройства, подлежащий обновлению.
lpInitData - указывает на структуру типа DEVMODE , содержащую информацию о новом контексте устройства.
Возвращаемые значения
В случае успеха возвращается дескриптор оригинального исходного контекста устройства.
В случае неудачи возвращается NULL .
Комментарии
Приложение обычно использует функцию ResetDC при получении сообщения WM _ DEVMODECHANGE. ResetDC также может быть использована для изменения ориентации бумаги или полей бумаги при печати документа. Функция ResetDC не может быть использована для изменения имени драйвера устройства, имени устройства или выходного порта. Когда пользователь изменяет соединение с портом или имя устройства, приложение должно удалить исходный контекст устройства и создать новый контекст с новой информацией.
См. также
DeviceCapabilities, DEVMODE, Escape .
Стандартные диалоговые окна
ChooseColor
Функция ChooseColor создает стандартное диалоговое окно выбора цвета.
BOOL ChooseColor (
LPCHOOSECOLOR lpcc // указатель на структуру с инициализирующими данными
);
Параметры
lpcc - указатель на структуру типа CHOOSECOLOR , которая содержит информацию, используемую для инициализации диалогового окна. Когда ChooseColor возвращает управление, структура содержит информацию о выбранном пользователем цвете.
Возвращаемые значения
Если пользователь нажимает кнопку ОК в диалоговом окне, возвращается ненулевое значение. Член rgbResult структуру типа CHOOSECOLOR содержит RGB значение цвета, выбранного пользователем.
Если пользователь нажал кнопку Cancel, или закрыл диалоговое окно, или произошла ошибка - возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию CommDlgExtendedError , которая может вернуть одно из следующих значений:
CDERR_FINDRESFAILURE
CDERR_MEMLOCKFAILURE
CDERR_INITIALIZATION
CDERR_NOHINSTANCE
CDERR_LOCKRESFAILURE
CDERR_NOHOOK
CDERR_LOADRESFAILURE
CDERR_NOTEMPLATE
CDERR_LOADSTRFAILURE
CDERR_STRUCTSIZE
CDERR_MEMALLOCFAILURE
Комментарии
Стандартное диалоговое окно выбора цвета не поддерживает палитр. Выбор цветов, предлагаемых диалоговым окном, ограничен системными цветами и прореженными (dithered) версиями тех цветов.
Вы можете предоставить функцию-ловушку (hook procedure) CCHookProc для диалогового окна. Функция-ловушка может обрабатывать сообщения, отправляемые диалоговому окну. Для использования функции установите флаг CC_ENABLEHOOK в члене Flags структуры типа CHOOSECOLOR и укажите адрес функции в члене lpfnHook .
См . также
CCHookProc, CHOOSECOLOR, CommDlgExtendedError .
ChooseFont
Функция ChooseFont создает стандартное диалоговое окно выбора шрифта, которое позволяет пользователю выбрать атрибуты для логического шрифта. Эти атрибуты включают в себя имя гарнитуры шрифта, стиль (жирный, наклонный или нормальный), размер, эффекты (подчеркивание, зачеркивание и цвет текста) и написание символов (или набор символов).
BOOL ChooseFont (
LPCHOOSEFONT lpcf // указатель на структуру с инициализирующими данными
);
Параметры
lpcf - указывает на структуру типа CHOOSEFONT , которая содержит информацию, используемую для инициализации диалогового окна. Когда ChooseFont возвращает управление, структура содержит информацию о выбранном пользователем шрифте.