Читаем Русский справочник по Win32 API полностью

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

В случае успеха возвращает NOERROR или OLE -определенную ошибку в противном случае.

<p>Контекст устройства</p><p>CancelDC</p>

Функция CancelDC отменяет любую незаконченную операцию на указанном контексте устройства.

BOOL CancelDC (

HDC hdc // дескриптор контекста устройства

);

Параметры

hdc - идентифицирует контекст устройства.

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

В случае успеха возвращается ненулевое значение.

В случае неудачи возвращается нуль.

Комментарии

Функция CancelDC используется многопоточными приложениями для отмены протяженных во времени операций рисования. Если поток A инициирует такую операцию рисования, поток В может ее отменить, вызвав эту функцию.

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

См. также

CreateThread, GetCurrentThread .

<p>CreateCompatibleDC</p>

Функция CreateCompatibleDC создает контекст устройства в памяти, совместимый с указанный контекстом.

HDC CreateCompatibleDC (

HDC hdc // дескриптор контекста устройства

);

Параметры

hdc - идентифицирует контекст устройства. Если значение этого параметра равно NULL, функция создает контекст устройства в памяти, совместимый с текущим экраном приложения.

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

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

В случае неудачи возвращается NULL .

Комментарии

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

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

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

См. также

CreateCompatibleBitmap, DeleteDC, GetDeviceCaps .

<p>DeleteDC</p>

Функция DeleteDC удаляет заданный контекст устройства.

BOOL DeleteDC (

HDC hdc // дескриптор контекста устройства

);

Параметры

hdc - идентифицирует контекст устройства.

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

В случае успеха возвращается ненулевое значение.

В случае неудачи возвращается нуль.

Комментарии

Приложение не должно удалять контекст устройства, чей дескриптор был получен вызовом функции GetDC . Вместо этого приложение должно вызвать функцию ReleaseDC для освобождения контекста устройства.

См. также

CreateDC, GetDC, ReleaseDC .

<p>EnumObjects</p>

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

int EnumObjects (

HDC hdc , // дескриптор контекста устройства

int nObjectType , // идентификатор типа объекта

GOBJENUMPROC lpObjectFunc , // указатель на функцию обратного вызова

LPARAM lParam // указатель на предоставляемые приложением данные

);

Параметры

hdc - идентифицирует контекст устройства.

nObjectType - определяет тип объекта. Может принимать значение OBJ_BRUSH или OBJ_PEN .

lpObjectFunc - указатель на определяемую приложением функцию обратного вызова. Для дополнительной информации об этой функции смотрите описание функции EnumObjectsProc .

lParam - указывает на определяемые приложением данные. Данные передаются в функцию обратного вызова вместе с информацией об объекте.

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

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

См. также

EnumObjectsProc, GetObject .

<p>GetDC</p>

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

Перейти на страницу:

Похожие книги

C++: базовый курс
C++: базовый курс

В этой книге описаны все основные средства языка С++ - от элементарных понятий до супервозможностей. После рассмотрения основ программирования на C++ (переменных, операторов, инструкций управления, функций, классов и объектов) читатель освоит такие более сложные средства языка, как механизм обработки исключительных ситуаций (исключений), шаблоны, пространства имен, динамическая идентификация типов, стандартная библиотека шаблонов (STL), а также познакомится с расширенным набором ключевых слов, используемым в .NET-программировании. Автор справочника - общепризнанный авторитет в области программирования на языках C и C++, Java и C# - включил в текст своей книги и советы программистам, которые позволят повысить эффективность их работы. Книга рассчитана на широкий круг читателей, желающих изучить язык программирования С++.

Герберт Шилдт

Программирование, программы, базы данных
C++
C++

С++ – это универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей С++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы. Ключевым понятием С++ является класс. Класс – это тип, определяемый пользователем. Классы обеспечивают сокрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. С++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline-подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В С++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем. С++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из С++ программ можно использовать C библиотеки, и с С++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C. Эта книга предназначена главным образом для того, чтобы помочь серьезным программистам изучить язык и применять его в нетривиальных проектах. В ней дано полное описание С++, много примеров и еще больше фрагментов программ.

Бьёрн Страуструп , Бьярн Страустрап , Мюррей Хилл

Программирование, программы, базы данных / Программирование / Книги по IT
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Майерс , Скотт Мейерс

Программирование, программы, базы данных / Программирование / Книги по IT