SetClassLongPtrA 함수(winuser.h)
지정한 창이 속한 클래스의 추가 클래스 메모리 또는 WNDCLASSEX 구조체의 지정된 오프셋에서 지정된 값을 바꿉니다.
통사론
ULONG_PTR SetClassLongPtrA(
[in] HWND hWnd,
[in] int nIndex,
[in] LONG_PTR dwNewLong
);
매개 변수
[in] hWnd
형식: HWND
창 및 간접적으로 창이 속한 클래스에 대한 핸들입니다.
[in] nIndex
형식: int
바꿀 값입니다. 추가 클래스 메모리에 값을 설정하려면 설정할 값의 0부터 시작하는 양수 바이트 오프셋을 지정합니다. 유효한 값은 0부터 추가 클래스 메모리 바이트 수까지의 범위에서 8을 뺀 값입니다. 예를 들어 24바이트 이상의 추가 클래스 메모리를 지정한 경우 값 16은 세 번째 정수에 대한 인덱스입니다. WNDCLASSEX 구조체 이외의 값을 설정하려면 다음 값 중 하나를 지정합니다.
값 | 의미 |
---|---|
|
클래스와 연결된 추가 메모리의 크기(바이트)를 설정합니다. 이 값을 설정해도 이미 할당된 추가 바이트 수는 변경되지 않습니다. |
|
클래스의 각 창과 연결된 추가 창 메모리의 크기(바이트)를 설정합니다. 이 값을 설정해도 이미 할당된 추가 바이트 수는 변경되지 않습니다. 이 메모리에 액세스하는 방법에 대한 자세한 내용은 SetWindowLongPtr참조하세요. |
|
핸들을 클래스와 연결된 배경 브러시로 바꿉니다. |
|
핸들을 클래스와 연결된 커서로 바꿉니다. |
|
핸들을 클래스와 연결된 아이콘으로 바꿉니다. |
|
클래스와 연결된 작은 아이콘에 대한 핸들을 검색합니다. |
|
클래스를 등록한 모듈에 대한 핸들을 바꿉니다. |
|
메뉴 이름 문자열에 대한 포인터를 바꿉니다. 문자열은 클래스와 연결된 메뉴 리소스를 식별합니다. |
|
창 클래스 스타일 비트를 바꿉니다. |
|
클래스와 연결된 창 프로시저에 대한 포인터를 바꿉니다. |
[in] dwNewLong
형식: LONG_PTR
대체 값입니다.
반환 값
형식: ULONG_PTR
함수가 성공하면 반환 값은 지정된 오프셋의 이전 값입니다. 이전에 설정되지 않은 경우 반환 값은 0입니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError호출합니다.
발언
SetClassLongPtr 함수와 GCLP_WNDPROC 인덱스를 사용하여 창 프로시저를 바꾸는 경우 창 프로시저는 WindowProc 콜백 함수 설명에 지정된 지침을 따라야 합니다.
GCLP_WNDPROC 인덱스를 사용하여 SetClassLongPtr 호출하면 이후에 클래스로 만든 모든 창에 영향을 주는 창 클래스의 하위 클래스가 만들어집니다. 애플리케이션은 시스템 클래스를 서브클래스할 수 있지만 다른 프로세스에서 만든 창 클래스를 서브클래스해서는 안 됩니다.
RegisterClassEx 함수와 함께 사용되는 WNDCLASSEX 구조체의 cbClsExtra 멤버에 0이 아닌 값을 지정하여 추가 클래스 메모리를 예약합니다.
SetClassLongPtr 함수를 주의하여 사용합니다. 예를 들어 SetClassLongPtr사용하여 클래스의 배경색을 변경할 수 있지만 이 변경 내용이 클래스에 속한 모든 창을 즉시 다시 그리는 것은 아닙니다.
메모
winuser.h 헤더는 SETClassLongPtr를 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
API 집합 | ext-ms-win-ntuser-windowclass-l1-1-2(Windows 10 버전 10.0.10240에서 도입됨) |
참고 항목
개념
GetClassLongPtr
참조
RegisterClassEx
SetWindowLongPtr
WNDCLASSEX