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

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

Если пользователь нажимает кнопку ОК в диалоговом окне, возвращается ненулевое значение. Члены структуры типа CHOOSEFONT показывают выбор пользователя.

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

CDERR_FINDRESFAILURE

CDERR_NOHINSTANCE

CDERR_INITIALIZATION

CDERR_NOHOOK

CDERR_LOCKRESFAILURE

CDERR_NOTEMPLATE

CDERR_LOADRESFAILURE

CDERR_STRUCTSIZE

CDERR_LOADSTRFAILURE

CFERR_MAXLESSTHANMIN

CDERR_MEMALLOCFAILURE

CFERR_NOFONTS

CDERR_MEMLOCKFAILURE

Комментарии

Вы можете предоставить функцию-ловушку (hook procedure) CCHookProc для диалогового окна. Функция-ловушка может обрабатывать сообщения, отправляемые диалоговому окну. Для использования функции установите флаг CC_ENABLEHOOK в члене Flags структуры типа CHOOSEFONT и укажите адрес функции в члене lpfnHook .

Функция-ловушка может отправлять диалоговому окну сообщения WM _ CHOOSEFONT _ GETLOGFONT, WM _ CHOOSEFONT _ SETFLAGS и WM _ CHOOSEFONT _ SETLOGFONT для получения и установки текущих значений флагов в диалоговом окне.

См. также

CFHookProc, CHOOSEFONT, CommDlgExtendedError, LOGFONT , WM_CHOOSEFONT_GETLOGFONT, WM_CHOOSEFONT_SETFLAGS, WM_CHOOSEFONT_SETLOGFONT.

<p>Иконки</p><p>CopyIcon</p>

Функция CopyIcon копирует заданную иконку в текущий модуль из другого модуля.

HICON CopyIcon (

HICON hIcon // дескриптор копируемой иконки

);

Параметры

hIcon - идентифицирует копируемую иконку.

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

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

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

Комментарии

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

См . также

CopyCursor, DrawIcon, DrawIconEx.

<p>CreateIcon</p>

Функция CreateIcon создает иконку, которая имеет указанные размер, цвета и битовые шаблоны.

HICON CreateIcon (

HINSTANCE hInstance , // дескриптор экземпляра приложения

int nWidth , // ширина иконки

int nHeight , // высота иконки

BYTE cPlanes , // число плоскостей в битовой маске исключающее ИЛИ

BYTE cBitsPixel , // число бит на пиксель

// в битовой маске исключающее ИЛИ

CONST BYTE * lpbANDbits , // указатель на массив битовой маски И

CONST BYTE * lpbXORbits // указатель на массив битовой маски ИЛИ

);

Параметры

hInstance - идентифицирует экземпляр модуля, создающего иконку.

nWidth - определяет ширину иконки в пикселях.

nHeight - определяет высоту иконки в пикселях.

cPlanes - определяет число плоскостей в битовой маске исключающее ИЛИ иконки.

cBitsPixel - определяет число бит на пиксель в битовой маске исключающее ИЛИ иконки.

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

lpbXORbits - указатель на массив байт, который содержит битовые значения для маски исключающее ИЛИ иконки. Такая битовая маска описывает зависимое от устройства цветное изображение.

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

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

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

Комментарии

Значения параметров nWidth и nHeight должны указывать ширину и высоту, поддерживаемые текущим драйвером дисплея, потому что система не может создать иконки других размеров. Для определения того, какие ширина и высота поддерживаются драйвером дисплея, вызовите функцию GetSystemMetrics , указав значения SM _ CXICON и SM _ CYICON .

CreateIcon применяет следующую таблицу истинности для битовых масок.

Битовая маска И

Битовая маска исключающее ИЛИ

Отображение

0

0

Черное.

0

1

Белое.

1

0

Цвет экрана.

1

1

Обратный цвет экрана.

См. также

GetSystemMetrics .

<p>CreateIconFromResource</p>

Функция CreateIconFromResource создает иконку или курсор из битов ресурса, описывающих иконку.

HICON CreateIconFromResource (

PBYTE presbits , // указатель на биты ресурса

DWORD dwResSize , // число бит в буфере

BOOL fIcon , // флаг иконки или курсора

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

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

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