AfxRegisterWndClass
자신의 창 클래스를 등록할 수 있습니다.
LPCTSTR AFXAPI AfxRegisterWndClass(
UINT nClassStyle,
HCURSOR hCursor = 0,
HBRUSH hbrBackground = 0,
HICON hIcon = 0
);
매개 변수
nClassStyle
Windows 클래스 스타일이 나 스타일의 비트 OR (사용 하 여 만든 조합을 지정 합니다.|) 창 클래스에 대 한 연산자입니다.클래스 스타일 목록을 참조 하십시오의 WNDCLASS 의 구조는 Windows SDK.경우 NULL, 다음과 같은 방법으로 기본값이 설정 됩니다.마우스의 스타일을 설정 CS_DBLCLKS에서 마우스를 클릭할 때 어떤 보냅니다 메시지 창 프로시저를 두 번 클릭 합니다.
Windows 표준 화살표 커서 스타일 설정 IDC_ARROW.
배경 브러시를 설정 NULL, 창의 배경을 지웁니다.
표준, 손을 흔드는 플래그 Windows 로고 아이콘으로 아이콘을 설정합니다.
hCursor
설치할 각 창의 창 클래스에서 만든 커서 리소스에 대 한 핸들을 지정 합니다.기본값을 사용 하는 경우 0, 표준 얻을 수 IDC_ARROW 커서입니다.hbrBackground
설치할 각 창의 창 클래스에서 만든 브러시 리소스에 대 한 핸들을 지정 합니다.기본값을 사용 하는 경우 0, 경우에 NULL 배경 브러시와 기본적으로 창 마법 않습니다 지울 배경 처리 하는 동안 WM_ERASEBKGND.hIcon
설치할 각 창의 창 클래스에서 만든 아이콘 리소스에 대 한 핸들을 지정 합니다.기본값을 사용 하는 경우 0, 표준, 손을 흔드는 플래그 Windows 로고 아이콘을 발생 합니다.
반환 값
클래스 이름이 포함 된 null로 끝나는 문자열입니다.이 클래스 이름으로 전달할 수 있습니다는 만들기 멤버 함수에서 CWnd 또는 다른 CWnd-파생 클래스는 창을 만들 수 있습니다.이름은 Microsoft Foundation 클래스 라이브러리에 의해 생성 됩니다.
[!참고]
반환 값에는 정적 버퍼에 대 한 포인터입니다.이 문자열을 저장 하려면 할당 된 CString 변수입니다.
설명
Mfc 라이브러리 여러 표준 창 클래스에 대해 자동으로 등록합니다.자신의 창 클래스를 등록 하려면이 함수를 호출 합니다.
이름을 등록 하 여 클래스에 대 한 AfxRegisterWndClass 매개 변수에 따라 전적으로 달라 집니다.호출 하는 경우 AfxRegisterWndClass 여러 번 동일한 매개 변수와 함께만 처음 호출할 클래스 등록 합니다.후속 호출을 AfxRegisterWndClass 동일한 매개 변수를 사용 하기만 하면 이미 등록 된 클래스를 반환 합니다.
호출 하는 경우 AfxRegisterWndClass 각 클래스에 대 한 별도 창 클래스를 가져오는 대신 동일한 매개 변수를 가진 여러 CWnd 파생 클래스에 대 한 동일한 창 클래스가 각 클래스를 공유 합니다.이 문제를 일으킬 수는 CS_CLASSDC 클래스 스타일이 사용 됩니다.여러 대신 CS_CLASSDC 창 클래스를 결국 하나로 CS_CLASSDC 창 클래스 및 클래스 공유 같은 DC를 사용 하는 모든 C++ windows.이 문제를 방지 하려면 호출 AfxRegisterClass 클래스를 등록 합니다.
기술 참고를 참조 하십시오. TN001: 창 클래스 등록 창 클래스 등록에 대 한 자세한 내용은, 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