Шпаргалка Windows API. Объекты user и gdi

Том «объекты user и gdi» состоит из 27 разделов.

  1. «Диалоговые окна» — функции, относящиеся к диалоговым окнам (CreateDialog, DialogBox, EndDialog и др.).
  2.  «Другие» — функции, не попавшие в другие разделы (DragFinish, GdiFlush, GetObject и др.).
  3.  «Иконка» — функции работы с иконками (CreateIcon, DrawIcon, LoadIcon и др.).
  4.  «Интерактивное взаимодействие с пользователем» — функции MessageBeep, MessageBox и др.
  5. «Кисть» — функции работы с кистью (CreateBrushIndirect, CreatePatternBrush, GetBrushOrgEx и др.).
  6. «Клавиатура» — функции работы с клавиатурой (GetKeyState, SendInput и др.).
  7.  «Константы» — константы Windows API (коды виртуальных клавиш, параметры функции BitBlt, семейства шрифтов, стили кисти, стили оконного класса и др.), относящиеся  к теме тома.
  8.  «Контекст устройства» — функции работы с контекстом устройства (CreateCompatibleDC, GetDC, SelectObject и др.).
  9.  «Курсор мыши» — функции работы с курсором мыши (CopyCursor, GetCursor, LoadCursor и др.).
  10.  «Меню» — функции работы с меню, в том числе контекстным (CreateMenu, CreatePopupMenu, TrackPopupMenu и др.).
  11.  «Обработка ошибок» — функции GetLastError, SetLastError и SetLastErrorEx.
  12.  «Окно» — функции работы с окнами (AnimateWindow, CloseWindow, CreateWindow, FindWindow, GetWindow и др.).
  13.  «Оконный класс» — функции работы с оконными классами (GetClassInfo, GetClassLong, RegisterClass и др.).
  14.  «Описание ресурсов и элементов управления» — описывается синтаксис объявления ресурсов в rc файлах.
  15.  «Перо» — функции работы с пером (CreatePen, CreatePenIndirect, ExtCreatePen, GetDCPenColor и SetDCPenColor).
  16.  «Примеры» — примеры программ, использующих описываемые в шпаргалке функции Windows API. Для каждого примера приводится полный исходный код, включая содержимое заголовочных файлов и файлов ресурсов (там, где они используются). Дополнительно к комментариям в коде программ примеры предваряются словесным описанием того, как он работает и как решает поставленную задачу. Примеры решаемых задач:
    • создание диалоговых окон различными способами;
    • использование функции DefDlgProc;
    • подготовка окна и реализация графики OpenGL в том числе анимации;
    • передача информации с помощью сообщения WM_COPYDATA;
    • реализация окна, имеющего элементы управления, динамически подстраивающиеся под его размер;
    • отображение растрового изображения на поверхности окна различными способами, в том числе с помощью формата DIB;
    • реализация окна, дочерний элемент управления которого можно перетаскивать мышью;
    • реализация окна, на поверхность которого можно перетаскивать файлы;
    • рисование различных графических элементов средствами gdi;
    • создание скриншота экрана средствами Windows API и сохранение его в файл BMP;
    • создание кнопки, на поверхности которой отображается надпись и иконка (приводится два способа решения этой задачи, в том числе с помощью перегрузки оконной процедуры);
    • другие задачи.

    Все примеры писались на языке C++. В качестве среды разработки использовался Dev-C++. Я старался не использовать синтаксические конструкции специфические для этой среды разработки, поэтому адаптация примеров для другой IDE не должна вызвать особых трудностей.

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

  17.  «Прямоугольная область» — функции работы с прямоугольниками (CopyRect, GetClientRect, UnionRect и др.).
  18.  «Растровое изображение» — функции работы с изображениями и битовыми картами (BitBlt, CreateBitmap, CreateDIBSection, MaskBlt и др.).
  19.  «Ресурсы» — функции работы с ресурсами (CopyImage, EnumResourceLanguages, FindResource и др.).
  20.  «Рисование» — функции рисования средствами gdi (Chord, Ellipse, GradientFill, PolyPolygon и др.).
  21.  «Сообщение» — функции работы с оконными сообщениями (DispatchMessage, GetMessage, ReplyMessage и др.).
  22.  «Строка» — функции работы со строками (CharNext, CharToOem, CompareString и др.).
  23.  «Структуры» — описание свыше 100 структур (BITMAPINFO, DIBSECTION, DLGTEMPLATE, ICONINFO, LOGFONT, LOGPEN и др.), относящихся к теме тома.
  24.  «Таймер» — функции работы с таймером пользовательского режима (KillTimer и SetTimer).
  25.  «Функции обратного вызова» — функции, реализуемые пользователем и вызываемые системой (DialogProc, EnumFontFamProc, MsgBoxCallback, TimerProc, оконная процедура и др.).
  26.  «Шрифт и текст» — функции работы со шрифтами и вывода текста на поверхность окна (CreateFont, DrawText, PolyTextOut и др.).
  27.  «Элементы управления» — функции работы с элементами управления (CheckDlgButton, GetDlgItemText, IsDlgButtonChecked и др.).

Версия 28.01.2018