MoveWindow是一種函式。功能是改變指定視窗的位置和大小。對子視窗來說,位置和大小取決於父視窗客戶區的左上角;對於Owned視窗,位置和大小取決於螢幕左上角。
基本介紹
- 中文名:MoveWindow
- 函式功能:改變指定視窗的位置和大小
- 函式原型:BOOL MoveWindow
- hWnd:指定了視窗的句柄
簡要介紹,參數,兩個函式,
簡要介紹
函式功能:改變指定視窗的位置和大小.對基視窗來說,位置和大小取決於螢幕的左上角;對子視窗來說,位置和大小取決於父視窗客戶區的左上角.對於Owned視窗,位置和大小取決於螢幕左上角.
函式原型:BOOL MoveWindow( HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint );
參數
hWnd指定了視窗的句柄
x指定了CWnd的左邊的新位置。
y指定了CWnd的頂部的新位置。
nWidth指定了CWnd的新寬度。
nHeight指定了CWnd的新高度。
bRepaint指定了是否要重畫CWnd。如果為TRUE,則CWnd象通常那樣在OnPaint訊息處理函式中接收到一條WM_PAINT訊息。如果這個參數為FALSE,則不會發生任何類型的重畫操作。這套用於客戶區、非客戶區(包括標題條和滾動條)和由於CWnd移動而露出的父視窗的任何部分。當這個參數為FALSE的時候,應用程式必須明確地使CWnd和父視窗中必須重畫的部分無效或重畫。
MoveWindow給視窗傳送WM_WINDOWPOSCHANGING,WM_WINDOWPOSCHANGED,WM_MOVE,WM_SIZE和WM_NCCALCSIZE訊息。
兩個函式
void CWnd::MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE );
void CWnd::MoveWindow( LPCRECT lpRect, BOOL bRepaint = TRUE );
lpRectCRect對象或RECT結構,指定了新的大小和位置。說明這個函式改變視窗的位置和大小。對於頂層的CWnd對象,x和y參數是相對於螢幕的左上角的。對於子對象,它們是相對於父視窗客戶區的左上角的。
MoveWindow函式傳送一條WM_GETMINMAXINFO訊息。處理這個訊息時,CWnd得到一個改變最大和最小的視窗預設值的機會。如果傳遞給MoveWindow成員函式的參數超過了這些值,則在WM_GETMINMAXINFO處理函式中可以用最小或最大值來代替這些值。