GetClassLong

원형

DWORD GetClassLong( HWND hWnd, int nIndex);

MFC 원형

해당하는 함수 없음

인수

▶hWnd : 조사할 클래스가 속해있는 윈도우의 핸들, 윈도우의 핸들을 통해 윈도우 클래스를 간접적으로 지정하며 조사대상은 이 윈도우가 아니라 윈도우가 속해있는 윈도우 클래스이다.

▶nIndex : 조사할 값을 지정하며 다음 값 중 하나를 지정한다. 윈도우 클래스를 등록할 때 사용하는 WNDCLASS 구조체의 멤버에 대응된다.

설명
GCL_CBCLSEXTRA

cbClsExtra 멤버값. 클래스의 여분 메모리 양을 조사한다.

GCL_CBWNDEXTRA

cbWndExtra 멤버값. 윈도우의 여분 메모리 양을 조사한다.

GCL_HBRBACKGROUND 윈도우의 배경 브러시 핸들. hbrBackground 멤버
GCL_HCURSOR 윈도우의 커서 핸들. hCursor 멤버
GCL_HICON 윈도우의 아이콘 핸들. hIcon 멤버
GCL_HMODULE 윈도우 클래스를 등록한 프로그램의 핸들. hInstance 멤버
GCL_MENUNAME 메뉴 리소스 문자열. hMenu 멤버
GCL_STYLE 윈도우 클래스의 스타일. style 멤버
GCL_WNDPROC 윈도우 프로시저의 주소. lpfnWndProc 멤버
GCW_ATOM

윈도우 클래스를 대표하는 아톰값이며 RegisterClass 함수가 윈도우 클래스를 등록한 후 리턴하는 값이다.

또는 윈도우 클래스에 여분 메모리가 등록되어 있을 경우 여분 메모리의 오프셋을 지정할 수 있다. 이 값은 반드시 양수여야 하며 cbClsExtra-4보다는 작어야 한다. 예를 들어 여분 메모리가 16바이트 지정되어 있으면 nIndex는 0~12까지 지정할 수 있다.

리턴

성공하면 요청한 속성값을 리턴하며 실패시 0을 리턴한다.

설명

윈도우 클래스는 WNDCLASS(EX) 구조체에 의해 속성들이 지정되며 RegisterClass(Ex) 함수에 의해 이 속성들이 등록된다. 일단 등록된 클래스의 속성을 조사하고자 할 때 이 함수를 사용하며 SetClassLong 함수로 속성값을 변경할 수도 있다. 속성값을 대입할 때는 SetClassLong 함수를 사용할 수 있지만 기존에 설정되어 있는 값을 편집하고자 할 경우는 GetClassLong 함수로 값을 조사하여 변경한 후 SetClassLong 함수로 다시 지정하면 된다. 예를 들어 윈도우 클래스의 스타일에 다른 스타일을 추가로 지정하고자 할 때는 먼저 값을 조사한 후 스타일에 원하는 추가 스타일을 OR 연산자로 지정해야 한다.윈도우 클래스의 속성을 변경하는 예제는 SetClassLong 함수를 참조하기 바란다.

참고함수

SetClassLong : 윈도우 클래스의 속성값을 변경한다.

플랫폼

95이상

참조

 


written by http://www.winapi.co.kr