관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

SetClassLong(A) 본문

API 관련/Win32 API 함수

SetClassLong(A)

님투 2007. 11. 8. 23:23
반응형

SetClassLong(A)

지정된 윈도우가 속하는 윈도우 클래스의 WNDCLASSEX 구조체의 데이터를 고쳐 씁니다.확장 쿠라스메모리의 데이터도 고쳐 쓸 수 있습니다.

이 구조체는 SetClassLongPtr 함수에 교체되었습니다.32비트판과64비트판의 Windows 그리고 공통되어 이용할 수 있는 코드를 기술하는 경우에는, SetClassLongPtr 함수를 사용할 필요가 있습니다.

LONG SetClassLongA(
    HWND  hWnd,      // 윈도우 핸들
    int   nIndex,    // 변경하는 데이터의 지정
    LONG  dwNewLong  // 새로운 값
);

USER32.DLL

인수

hWnd

속성을 변경하는 클래스에 속하고 있는 윈도우의 핸들을 지정합니다.

nIndex

어느 속성을 변경하는지를 지정합니다.

확장 쿠라스메모리의 32 비트치를 고쳐 쓸 때는, 0 (으)로부터 시작되는 오프셋을 아르바이트 단위로 지정합니다.유효한 오프셋은, 0 (으)로부터 (확장 쿠라스메모리의 아르바이트수 -4) 까지입니다.

그 이외의 WNDCLASSEX 구조체의 데이터를 변경할 때는, 다음의 어느쪽이든을 지정합니다.

변경되는 속성
-8 (GCL_MENUNAME)

클래스에 관련지을 수 있는 메뉴 자원을 식별하기 위한 메뉴 명문자열의 주소, 또는 메뉴의 ID (을)를 고쳐 씁니다.

-10 (GCL_HBRBACKGROUND)

클래스에 관련지을 수 있는 배경 브러쉬의 핸들을 고쳐 씁니다.

-12 (GCL_HCURSOR)

클래스에 관련지을 수 있는 마우스 커서의 핸들을 고쳐 씁니다.

-14 (GCL_HICON)

클래스에 관련지을 수 있는 아이콘의 핸들을 고쳐 씁니다.

-16 (GCL_HMODULE)

클래스를 등록한 모듈의 핸들을 고쳐 씁니다.

-18 (GCL_CBWNDEXTRA)

확장 윈드우메모리의 사이즈를, 아르바이트 단위로 설정합니다.이 값을 변경해도, 벌써 할당할 수 있었던 확장 윈드우메모리의 사이즈는 바뀌지 않습니다.이 메모리에의 액세스는, GetWindowLong 함수나 SetWindowLong 함수로 행합니다.

-20 (GCL_CBCLSEXTRA)

확장 쿠라스메모리의 사이즈를, 아르바이트 단위로 설정합니다.이 값을 변경해도, 벌써 할당할 수 있었던 확장 메모리의 사이즈는 바뀌지 않습니다.

-24 (GCL_WNDPROC)

이 클래스의 윈도우 프로시저의 주소를 고쳐 씁니다.

-26 (GCL_STYLE)

윈도우 클래스의 스타일을 고쳐 씁니다.

-34 (GCL_HICONSM) 클래스에 관련지을 수 있는 작은 아이콘의 핸들을 고쳐 씁니다.
dwNewLong

새롭게 설정하는 값을 지정합니다.

반환값

성공하면, 변경전의 값이 돌아갑니다.

실패하면 0 하지만 돌아갑니다.확장 에러 정보를 취득하려면 , GetLastError 함수를 사용합니다.

취득한 값이 0 (이었)였다고 와, 성공해도 0 하지만 돌아갑니다.이 문제를 해결하려면 , SetLastError 함수를 인수 0 그리고 호출하고 나서,SetClassLong 함수를 호출합니다.함수가 실패하면, 직후에 호출한다 GetLastError 함수가 0 이외의 값을 돌려줍니다.

대응 정보

Windows 95 이후 / Windows NT 3.1 이후

반응형

'API 관련 > Win32 API 함수' 카테고리의 다른 글

SetEndOfFile  (0) 2007.11.08
SetCursor  (0) 2007.11.08
SendMessage(A)  (0) 2007.11.08
SelectObject  (0) 2007.11.08
ScreenToClient  (0) 2007.11.08
Comments