AfxRegisterWndClass
Позволяет регистрировать свои собственные классы окна.
LPCTSTR AFXAPI AfxRegisterWndClass(
UINT nClassStyle,
HCURSOR hCursor = 0,
HBRUSH hbrBackground = 0,
HICON hIcon = 0
);
Параметры
nClassStyle
Определяет стили стиля или сочетания из классов Windows, созданные с помощью bitwise- ИЛИ (|), оператор для класса окна. Стили класса Для списка структуру, см. в разделе WNDCLASS в Windows SDK. Если NULL, по умолчанию будет установлено, следующим образом:Задает стиль мыши на CS_DBLCLKS, который отправляет сообщения двойного щелчка в процедуре окна, когда пользователь дважды щелкает мышью.
Задает стиль стрелки курсора на стандарт Windows IDC_ARROW.
Задает кисть фона в NULL, поэтому окно не сотрет его фон.
Задает Значок в стандартные, значок эмблемы Windows развевать- флажка.
hCursor
Определяет дескриптор к ресурсу курсора, настройку в каждом окне созданном из класса окна. Если используется значение по умолчанию 0, появится стандартный курсор IDC_ARROW.hbrBackground
Определяет дескриптор ресурс кисти, настройку в каждом окне созданном из класса окна. Если используется значение по умолчанию 0, при наличии кисть NULL фоновую и содержимое окна, по умолчанию, не сотрет его фон при обработке WM_ERASEBKGND.hIcon
Определяет дескриптор ресурс Значка, необходимо поместить в каждом окне созданном из класса окна. Если используется значение по умолчанию 0, появится Значок стандарт, эмблемы Windows развевать- флажка.
Возвращаемое значение
Объединения завершенной строка, содержащая имя класса. Можно передать это имя класса в функцию-член Создать в CWnd или других производных классов CWnd- для создания окна. Имя создается библиотеки Microsoft Foundation Class.
Примечание
Возвращаемое значение указателя на статический буфер.Чтобы сохранить эту строку, присвоить его переменной CString.
Заметки
Библиотеки Microsoft Foundation Class автоматически регистрирует несколько стандартных классов окна автоматически. Выполните вызов этой функции, необходимо зарегистрировать собственный класс окна.
Имя зарегистрированные исключительно для класса AfxRegisterWndClass зависит от параметров. При вызове AfxRegisterWndClass несколько раз с одинаковыми параметрами, она регистрирует только класс на первом звонке. Последующие вызовы AfxRegisterWndClass с одинаковыми параметрами просто возвращают выполнить зарегистрированные classname.
При вызове AfxRegisterWndClass для производных классов CWnd- несколько условных определений с одинаковыми параметрами вместо получения отдельный класс окна для каждого класса, общие папки каждого класса тот же класс окна. Это может вызвать проблемы, если используется стиль класса CS_CLASSDC. Вместо нескольких классов окна CS_CLASSDC, приведет к одним классом окна CS_CLASSDC и всеми окнами C++, которые используют общую папку класса такое же DC. Чтобы избежать этой проблемы, вызовите метод AfxRegisterClass для регистрации класса.
См. в техническом примечании TN001. Регистрация класса Window для получения дополнительных сведений о регистрации класса окна и функции AfxRegisterWndClass.
Пример
CString strMyClass;
// load stock cursor, brush, and icon for
// my own window class
try
{
strMyClass = AfxRegisterWndClass(
CS_VREDRAW | CS_HREDRAW,
::LoadCursor(NULL, IDC_ARROW),
(HBRUSH) ::GetStockObject(WHITE_BRUSH),
::LoadIcon(NULL, IDI_APPLICATION));
}
catch (CResourceException* pEx)
{
AfxMessageBox(_T("Couldn't register class! (Already registered?)"));
pEx->Delete();
}
Требования
Заголовок: afxwin.h