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实现。
转自:http://blog.csdn.net/zengwh/archive/2009/02/26/3939115.aspx