Том «объекты user и gdi» состоит из 27 разделов.
- «Диалоговые окна» — функции, относящиеся к диалоговым окнам (CreateDialog, DialogBox, EndDialog и др.).
- «Другие» — функции, не попавшие в другие разделы (DragFinish, GdiFlush, GetObject и др.).
- «Иконка» — функции работы с иконками (CreateIcon, DrawIcon, LoadIcon и др.).
- «Интерактивное взаимодействие с пользователем» — функции MessageBeep, MessageBox и др.
- «Кисть» — функции работы с кистью (CreateBrushIndirect, CreatePatternBrush, GetBrushOrgEx и др.).
- «Клавиатура» — функции работы с клавиатурой (GetKeyState, SendInput и др.).
- «Константы» — константы Windows API (коды виртуальных клавиш, параметры функции BitBlt, семейства шрифтов, стили кисти, стили оконного класса и др.), относящиеся к теме тома.
- «Контекст устройства» — функции работы с контекстом устройства (CreateCompatibleDC, GetDC, SelectObject и др.).
- «Курсор мыши» — функции работы с курсором мыши (CopyCursor, GetCursor, LoadCursor и др.).
- «Меню» — функции работы с меню, в том числе контекстным (CreateMenu, CreatePopupMenu, TrackPopupMenu и др.).
- «Обработка ошибок» — функции GetLastError, SetLastError и SetLastErrorEx.
- «Окно» — функции работы с окнами (AnimateWindow, CloseWindow, CreateWindow, FindWindow, GetWindow и др.).
- «Оконный класс» — функции работы с оконными классами (GetClassInfo, GetClassLong, RegisterClass и др.).
- «Описание ресурсов и элементов управления» — описывается синтаксис объявления ресурсов в rc файлах.
- «Перо» — функции работы с пером (CreatePen, CreatePenIndirect, ExtCreatePen, GetDCPenColor и SetDCPenColor).
- «Примеры» — примеры программ, использующих описываемые в шпаргалке функции Windows API. Для каждого примера приводится полный исходный код, включая содержимое заголовочных файлов и файлов ресурсов (там, где они используются). Дополнительно к комментариям в коде программ примеры предваряются словесным описанием того, как он работает и как решает поставленную задачу. Примеры решаемых задач:
- создание диалоговых окон различными способами;
- использование функции DefDlgProc;
- подготовка окна и реализация графики OpenGL в том числе анимации;
- передача информации с помощью сообщения WM_COPYDATA;
- реализация окна, имеющего элементы управления, динамически подстраивающиеся под его размер;
- отображение растрового изображения на поверхности окна различными способами, в том числе с помощью формата DIB;
- реализация окна, дочерний элемент управления которого можно перетаскивать мышью;
- реализация окна, на поверхность которого можно перетаскивать файлы;
- рисование различных графических элементов средствами gdi;
- создание скриншота экрана средствами Windows API и сохранение его в файл BMP;
- создание кнопки, на поверхности которой отображается надпись и иконка (приводится два способа решения этой задачи, в том числе с помощью перегрузки оконной процедуры);
- другие задачи.
Все примеры писались на языке C++. В качестве среды разработки использовался Dev-C++. Я старался не использовать синтаксические конструкции специфические для этой среды разработки, поэтому адаптация примеров для другой IDE не должна вызвать особых трудностей.
Примеры в этом разделе являются дополнением к примерам, приводимым в описаниях функций.
- «Прямоугольная область» — функции работы с прямоугольниками (CopyRect, GetClientRect, UnionRect и др.).
- «Растровое изображение» — функции работы с изображениями и битовыми картами (BitBlt, CreateBitmap, CreateDIBSection, MaskBlt и др.).
- «Ресурсы» — функции работы с ресурсами (CopyImage, EnumResourceLanguages, FindResource и др.).
- «Рисование» — функции рисования средствами gdi (Chord, Ellipse, GradientFill, PolyPolygon и др.).
- «Сообщение» — функции работы с оконными сообщениями (DispatchMessage, GetMessage, ReplyMessage и др.).
- «Строка» — функции работы со строками (CharNext, CharToOem, CompareString и др.).
- «Структуры» — описание свыше 100 структур (BITMAPINFO, DIBSECTION, DLGTEMPLATE, ICONINFO, LOGFONT, LOGPEN и др.), относящихся к теме тома.
- «Таймер» — функции работы с таймером пользовательского режима (KillTimer и SetTimer).
- «Функции обратного вызова» — функции, реализуемые пользователем и вызываемые системой (DialogProc, EnumFontFamProc, MsgBoxCallback, TimerProc, оконная процедура и др.).
- «Шрифт и текст» — функции работы со шрифтами и вывода текста на поверхность окна (CreateFont, DrawText, PolyTextOut и др.).
- «Элементы управления» — функции работы с элементами управления (CheckDlgButton, GetDlgItemText, IsDlgButtonChecked и др.).
Версия 28.01.2018