Поделиться через


TN070. Имена классов окна MFC

Примечание.

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

Окна MFC используют динамически созданное имя класса, которое отражает функции окна. MFC динамически создает имена классов для окон фреймов, представлений и всплывающих окон, созданных приложением. Диалоговые окна и элементы управления, созданные приложением MFC, имеют имя, предоставленное Windows для класса окна.

Динамическое имя класса можно заменить, зарегистрируя собственный класс окна и используя его в переопределении PreCreateWindow. Имена классов, предоставленные MFC, соответствуют одной из двух следующих форм:

Afx:%x:%x
Afx:%x:%x:%x:%x:%x

Шестнадцатеричные цифры, заменяющие %x символы, заполняются из данных из структуры WNDCLASS . MFC использует этот метод, чтобы несколько классов C++, требующих одинаковых структур WNDCLASS , могли совместно использовать один зарегистрированный класс окна. В отличие от большинства простых приложений Win32, приложения MFC имеют только один WNDPROC, поэтому вы можете легко совместно использовать структуры WNDCLASS для экономии времени и памяти. Заменяемые значения для %x символов, показанных выше, приведены следующим образом:

  • WNDCLASS.hInstance

  • WNDCLASS.style

  • WNDCLASS.hCursor

  • WNDCLASS.hbrBackground

  • WNDCLASS.hIcon

Первая форма используетсяAfx:%x:%x, когда hCursor, hbrBackground и hIcon имеют значение NULL.

См. также

Технические примечания по номеру
Технические примечания по категории
TN020. Соглашения об именовании и нумерации идентификаторов