DeferWindowPos 함수 지정 된 다중-창-지정한 창에 대 한 위치 구조를 업데이트합니다. 함수는 다음 업데이트 구조에는 핸들을 반환합니다. EndDeferWindowPos 함수에서는이 구조체의 정보를 사용 하 여 위치와 다양 한 윈도우의 크기를 동시에 변경 합니다. BeginDeferWindowPos 함수는 구조를 만듭니다.
HDWP DeferWindowPos ( HDWP hWinPosInfo, / / 내부 구조에 대 한 핸들HWNDhWnd, / / 위치는 창 핸들HWNDhWndInsertAfter, / / 배치 순서 처리int x, / / 가로 위치 int y, / / 수직 위치 int cx, // width int cy, // heightUINTuFlags / / 플래그 창 위치);
| 값 | 의미 |
|---|---|
| HWND_BOTTOM | 창 Z 순서의 맨 아래에 배치합니다. HWnd 매개 변수는 최상위 창을 식별 하는 경우 창 맨 위 지위를 잃는다 고 다른 모든 창 맨 아래에 배치 됩니다. |
| HWND_NOTOPMOST | 장소는 창 위의 모든 비-최상위 창 (즉, 모든 최상위 창 뒤에). 이 플래그는 아무런 효과가 창이 아닌 최상위 창 이미 경우. |
| HWND_TOP | Z 순서의 맨 창 배치. |
| HWND_TOPMOST | 위의 모든 아닌 최상위 윈도우 창에 넣습니다. 비활성화 된 경우에 맨 위 위치를 유지 하는 창. |
UFlags 매개 변수에서 SWP_NOZORDER 플래그가 설정 되어 있으면이 매개 변수는 무시 됩니다.
| 값 | 의미 |
|---|---|
| SWP_DRAWFRAME | 창 주위 프레임 (윈도우의 클래스 설명에 정의 됨)를 그립니다. |
| SWP_FRAMECHANGED | 윈도우의 크기가 변경 되지 않습니다 경우에 창에 WM_NCCALCSIZE 메시지를 보냅니다. 윈도우의 크기를 변경 하는 경우에 WM_NCCALCSIZE 보낸이 플래그를 지정 하는 경우. |
| SWP_HIDEWINDOW | 창 숨기기. |
| SWP_NOACTIVATE | 창을 활성화 하지 않습니다. 창 활성화 및 ( hWndInsertAfter 매개 변수 설정)에 따라 또는 비 맨 그룹의 상단으로 이동이 플래그가 설정 되지 않은 경우. |
| SWP_NOCOPYBITS | 클라이언트 영역의 전체 내용을 삭제합니다. 클라이언트 영역의 유효한 내용은 저장 및 창 크기 또는 위치를 변경 하는 후 클라이언트 영역으로 다시 복사이 플래그를 지정 하는 경우. |
| SWP_NOMOVE | 현재 위치를 유지 ( X 및 Y 매개 변수 무시). |
| SWP_NOOWNERZORDER | Z 순서에서 소유자 창의 위치를 변경 하지 않습니다. |
| SWP_NOREDRAW | 변경 내용을 다시 그리기 하지 않습니다. 이 플래그를 설정 하는 경우 어떤 종류의 다시 그리기 발생 합니다. 이 클라이언트 영역 (제목 표시줄 및 스크롤 막대를 포함 하 여) 비클라이언트 영역에 적용 됩니다 및 부모 윈도우의 모든 부분 이동 창의 결과로 발견. 응용 프로그램이 명시적으로 무효화 해야 합니다 또는 창과 부모 창을 다시 그릴 필요의 모든 부분을 다시 그리도록이 플래그가 설정 된 경우. |
| SWP_NOREPOSITION | SWP_NOOWNERZORDER 플래그와 동일. |
| SWP_NOSENDCHANGING | 창을 WM_WINDOWPOSCHANGING 메시지를 수신 하는 것을 방지합니다. |
| SWP_NOSIZE | 현재 크기 ( cx 및 cy 매개 변수 무시) 유지. |
| SWP_NOZORDER | 현재 Z 순서를 유지 ( hWndInsertAfter 매개 변수를 무시). |
| SWP_SHOWWINDOW | 창 표시. |
반환 값은 업데이트 다중-창-위치 구조를 식별합니다. 이 함수에 의해 반환 된 핸들은 함수에 전달 하는 핸들에서 달라질 수 있습니다. DeferWindowPos 또는 EndDeferWindowPos 함수를 다음 호출 하는 동안이 함수가 반환 하는 새 핸들을 전달 한다.
성공 하려면 함수에 사용할 수 있는 시스템 리소스가 부족 한 경우 반환 값은 NULL입니다. 확장 된 오류 정보를 얻을 하려면 GetLastError.
DeferWindowPos 호출에 실패 하는 경우 응용 프로그램 창 위치 작업을 포기 해야 하 고 EndDeferWindowPos 를 호출 하지.
SWP_NOZORDER을 지정 하지 않으면 hWndInsertAfter 매개 변수에 의해 식별 된 창 다음 위치에서 hWnd 매개 변수에 의해 식별 된 창을 배치 됩니다. HWndInsertAfter 은 NULL 또는 HWND_TOP, hWnd 창 z의 상단에 배치 됩니다. 시스템 Z 순서에서 맨 hWnd 창 배치 hWndInsertAfter 를 HWND_BOTTOM로 설정 하는 경우.
자식 창에 대 한 모든 좌표는 부모 창의 클라이언트 영역의 왼쪽 위 모서리를 기준으로.
HWndInsertAfter SWP_NOZORDER 플래그가 설정 되어 있지 않은 보장 HWND_TOPMOST 플래그를 설정 하거나 기존 최상위 창을 위에 오도록 Z 순서에서 창의 위치를 설정 하 여 맨 위에 있는 창 창을 만들 수 있습니다. 비-최상위 창 맨 위에 있는 때에 소유 windows 최상위도 적용 됩니다. 그러나, 그것의 소유자를 변경 되지 않습니다.
HWndInsertAfter 에 지정 된 값은 다음과 같은 경우에만 사용 하는 SWP_NOACTIVATE도 SWP_NOZORDER 플래그 (때, 즉 응용 프로그램 요청 창이 동시에 활성화 될 하 고 Z 순서에서 해당 위치가 변경)를 지정 하는 경우:
응용 프로그램은 또한 Z 순서의 맨 하 려 하지 않고 비활성 창을 활성화할 수 없습니다. 응용 프로그램 제한 없이 Z 순서로 활성화 된 윈도우의 위치를 변경할 수 있습니다 또는 창을 활성화 하 고 맨 위 또는 맨 위 비 창 맨 이동 수 있습니다.
최상위 창을 맨 위 Z 순서 또는 어떤 아닌 최상위 창 후 (HWND_BOTTOM) 하단에 위치는 경우 이상 이다. 최상위 창이 아닌 최상위 때 그것의 소유자와 그 소유 windows 또한 만들어진 아닌 최상위 창.
최상위 창 소유 하는 아닌 최상위 창 수 있지만 반대로. 최상위 창 소유 하 고 모든 창 (예: 대화 상자) 모두 소유 windows 그들의 소유자 이상 유지 되도록 최상위 창을 만들어 그 자체입니다.
nbsp;?Windows &NT: 버전 3.1 이상이 필요 합니다.
Windows:Windows 95 이상이 필요합니다.
Windows CE:지원 되지 않습니다.
헤더:Winuser.h에서 선언합니다.
가져오기 라이브러리:User32.lib를 사용 하 여.
창 개요 창 기능, BeginDeferWindowPos, EndDeferWindowPos, ShowWindow