本文最新地址:http://exbrowser.com/?p=589
1.原型
BOOL MoveWindow( HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint ); BOOL SetWindowPos( HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags );
2.相同功能:两个API都可以移动窗口位置和改变窗口大小
但是如果MoveWindow中的bRepaint参数为FALSE,则父窗口不会被重绘;而SetWindowPos则会重绘;
3.不同之处
MoveWindow只能移动窗口和改变大小但不能改变窗口的Z序;
SetWindowPos则可以改变窗口Z序、窗口大小、窗口位置、设置是否窗口是否激活、是否显示和隐藏、重新计算客户区等(功能很强大哦);
另外就是如果需要一次性移动多个窗口,则可以用BeginDeferWindowPos/DeferWindowPos/EndDeferWindowPos实现。