SetWindowPos(HWND hWnd, int X, int Y, int cx, int cy, UINT uFlags);
▶ hWnd : 이동 대상 윈도우의 핸들
▶ X,Y : 윈도우의 새로운 좌상단 좌표를 지정한다. 픽셀 단위이다.
▶ cx, cy : 윈도우의 새로운 폭과 높이를 지정한다. 픽셀 단위이다.
▶ uFlags : 위치와 크기 변경에 대한 여러 가지 옵션들이며 플래그들을 조합하여 지정할 수 있다.
SWP_ASYNCWINDOWPOS |
이 함수를 부른 스레드와 윈도우를 소유한 스레드가 다른 입력 큐를 사용할 경우 시스템은 윈도우를 소유한 스레드에게 요구를 포스팅하기만 한다. 이는 호출 스레드가 다른 스레드가 요구를 처리하는 동안 블럭되는 것을 방지한다. |
SWP_DEFERERASE |
WM_SYNCPAINT 메시지 발생을 금지한다. |
SWP_DRAWFRAME |
윈도우 주변에 프레임을 그린다. |
SWP_FRAMECHANGED |
SetWindowLong으로 경계선 스타일을 변경했을 경우 새 스타일을 적용한다. 이 플래그가 지정되면 크기가 변경되지 않아도 WM_NCCALCSIZE 메시지가 전달된다. |
SWP_HIDEWINDOW |
윈도우를 숨긴다. 이 경우 이동과 크기 변경은 무시된다. |
SWP_NOACTIVATE |
크기 변경 후 윈도우를 활성화시키지 않는다. |
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 |
윈도우를 보인다. 이 경우 이동과 크기 변경은 무시된다. |
'old drawer > C, C++, MFC' 카테고리의 다른 글
[MFC] 다이얼로그 동적 생성 (1) | 2012.07.19 |
---|---|
[MFC] CEdit 입력 제어 (0) | 2012.07.19 |
[MFC] CString <-> char* / int (0) | 2012.07.13 |
[MFC] CEdit Styles (0) | 2012.07.13 |
[MFC] GetDlgItem() (0) | 2012.07.12 |