관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

SetParent 본문

API 관련/Win32 API 함수

SetParent

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

SetParent

지정된 윈도우의 친윈도우를 변경합니다.새로운 친윈도우는 아이 윈도우와 같은 프로세스에 속하고 있을 필요가 있습니다.

HWND SetParent(
    HWND  hwndChild,     // 아이 윈도우의 핸들
    HWND  hwndNewParent  // 새로운 친윈도우의 핸들
);

USER32.DLL

인수

hwndChild

친윈도우를 변경하는 아이 윈도우의 핸들을 지정합니다.

hwndNewParent

새로운 친윈도우의 핸들을 지정합니다.0 (NULL) (을)를 지정하면, 톱 레벨 윈도우(친윈도우를 가지지 않는 윈도우)가 됩니다.

Windows 2000/XP: 이 파라미터에 -3 (HWND_MESSAGE) (을)를 지정하면, 아이 윈도우는 메세지 온리 윈도우가 됩니다.

반환값

함수가 성공하면, 직전의 친윈도우의 핸들이 돌아갑니다.

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

해설

지정된 아이 윈도우가 가시 상태에 있는 경우는, 윈도우가 재묘화 됩니다.

호환성을 유지하기 위해서, SetParent 함수는 친윈도우가 변경되어도, 지정된 아이 윈도우의 WS_CHILD (이)나 WS_POPUP 스타일을 변경하지 않습니다.그 때문에, 톱 레벨 윈도우를 아이 윈도우로 변경하는 경우는, SetParent 함수를 호출하기 전에, GetWindowLong 함수 및 SetWindowLong 함수를 이용하고, WS_POPUP 스타일을 없애 WS_CHILD 스타일을 추가하지 않으면 안됩니다.반대로, 아이 윈도우를 톱 레벨 윈도우로 변경하는 경우에는, SetParent 함수를 호출한 후에, WS_CHILD 스타일을 없애 WS_POPUP 스타일을 추가하지 않으면 안됩니다.

대응 정보

Windows 95 이후 / Windows NT 3.1 이후

반응형

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

SetThreadPriority  (0) 2007.11.08
SetPriorityClass  (0) 2007.11.08
SetMenuItemInfo(A)  (0) 2007.11.08
SetMenu  (0) 2007.11.08
SetLastError  (0) 2007.11.08
Comments