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