SetWindowLong 함수란 무엇인가?
LONG WINAPI SetWindowLong(
_In_ HWND hWnd,
_In_ int nIndex,
_In_ LONG dwNewLong
);
지정된 윈도우의 속성을 변경합니다. 이 함수로 지정된 기능을 32bit 값으로 메모리에 추가합니다.
이 함수는 SetWindowLongPtr 함수로 대체 되었습니다.32bit, 64bit와 호환됩니다. 사용법은 같습니다.
이 함수는 SetWindowPos함수를 호출할때까지 적용되지 않습니다.
hWnd
변경을 원하는 윈도우의 핸들
nIndex
어느 설정을 변경 할 것인지 정해진 상수로 넣어줍니다.
GWL_EXSTYLE - 새로운 확장 윈도우 스타일을 설정합니다.
GWL_HINSTANCE - 새 응용 프로그램 인스턴스 핸들을 설정합니다.
GWL_ID - 하위 윈도우의 새 식별자를 설정합니다. 창은 최상위 창이 될수없습니다.
GWL_STYLE - 새로운 윈도우 스타일을 설정합니다.
GWL_USERDATA - 창과 관련된 사용자 데이터를 설정합니다. 이 값은 창을 만든 응용프로그램에서 사용
하기 위한 값입니다. 초기 값은 0입니다.
GWL_WNDPROC - 윈도우 프로시저의 새주소를 설정합니다. 창이 호출한 스레도와 동일한 프로세스에
속하지 않으면 이 값은 변경 할수 없습니다.
대화상자전용입니다.
DWL_DLGPROC - 대화상자 프로시저의 새 주소를 설정합니다.
DWL_MSGRESULT - 대화상자 프로시저에 처리되는 메시지의 반환값을 설정합니다.
DWL_USER - 응욜 프로그램에 대한 추가 정보를 새로 설정합니다.
dwNewLong
대체하고 싶은 값을 넣어줍니다. 자세한 정보는 MSDN을 참고 바랍니다.
GWL_EXSTYLE 값을 바꾸고 싶은경우 아래 주소를 참고하세요.
https://msdn.microsoft.com/ko-kr/library/windows/desktop/ff700543(v=vs.85).aspx
반환값
함수가 성공하면 반환값은 dwNewLong 입니다. 실패하면 0입니다.