Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
MFC предоставляет класс CWnd , чтобы инкапсулировать HWND дескриптор окна. Объект CWnd — это объект окна C++, отличный от HWND объекта, представляющего окно Windows, но содержащий его. Используйте CWnd для создания собственных дочерних классов окон или одного из многих производных классов MFC от CWnd. Класс CWnd — это базовый класс для всех окон, включая окна фрейма, диалоговые окна, дочерние окна, элементы управления и панели управления, такие как панели инструментов. Хорошее понимание связи между объектом окна C++ и HWND имеет решающее значение для эффективного программирования с помощью MFC.
MFC предоставляет некоторые функции по умолчанию и управление окнами, но вы можете наследовать собственный класс от CWnd и использовать его функции-члены для настройки предоставленных функций. Дочерние окна можно создать, создав CWnd объект и вызвав ее функцию Create member, а затем настроить дочерние окна с помощью CWnd функций-членов. Объекты, производные от CView, например представления формы или представления дерева, можно внедрить в окно фрейма. Вы можете поддерживать несколько представлений документов с помощью панелей разделения, предоставляемых классом CSplitterWnd.
Каждый объект, производный от класса CWnd , содержит карту сообщений, с помощью которой можно сопоставить сообщения Windows или идентификаторы команд с собственными обработчиками.
Общая литература по программированию для Windows является хорошим ресурсом для обучения использованию CWnd функций-членов, которые инкапсулируют HWND API.
Функции для работы с CWnd
CWnd и его производные классы окон предоставляют конструкторы, деструкторы и функции-члены для инициализации объекта, создания базовых структур Windows и доступа к инкапсулированным HWND.
CWnd также предлагает методы-члены, которые инкапсулируют Windows API для отправки сообщений, доступа к состоянию окна, преобразования координат, обновления, прокрутки, работы с буфером обмена и выполнения многих других задач. Большинство API управления окнами Windows, принимающих аргумент HWND, инкапсулируются как функции-члены CWnd. Имена функций и их параметров сохраняются в функции-члене CWnd . Дополнительные сведения об API Windows, инкапсулированных CWnd, см. в классе CWnd.
Сообщения CWnd и Windows
Одним из основных целей CWnd является предоставление интерфейса для обработки сообщений Windows, таких как WM_PAINT или WM_MOUSEMOVE. Многие функции-члены CWnd являются обработчиками стандартных сообщений— начиная с идентификатора afx_msg и префикса "Вкл.", например OnPaint и OnMouseMove.
Обработка и сопоставление сообщений подробно охватывают сообщения и обработку сообщений. Сведения в равной степени применимы как к окнам фреймворка, так и к тем, которые вы создаете самостоятельно для специальных целей.
Что вы хотите узнать больше о
Контексты устройств: объекты, которые делают устройство рисования Windows независимыми
Графические объекты: ручки, кисти, шрифты, растровые изображения, палитры, области