SetWindowPos C++: Window Position API Guide
The SetWindowPos function is a function in the Windows API that is used to set the position and size of a window.
Function prototype:
BOOL SetWindowPos(
HWND hWnd, // 窗口句柄
HWND hWndInsertAfter, // 窗口的相对位置
int X, // 窗口的左上角x坐标
int Y, // 窗口的左上角y坐标
int cx, // 窗口的宽度
int cy, // 窗口的高度
UINT uFlags // 控制窗口大小和位置的标志
);
Explanation of parameters:
- hWnd: Handle of the window to set the position and size.
- hWndInsertAfter: Specifies the handle of the window relative to which the window’s position is to be set, which can be special handles such as HWND_TOPMOST, HWND_NOTOPMOST, HWND_TOP, or HWND_BOTTOM.
- The coordinates of the top-left corner of window X relative to its parent window or screen.
- cx and cy: width and height of the window.
- uFlags: flags that control the window size and position, which can be a combination of flags like SWP_NOSIZE, SWP_NOMOVE, SWP_NOZORDER, SWP_FRAMECHANGED, and so on.
The return value of the function:
- Return a non-zero value if the function call is successful; return zero if the function call fails.
The SetWindowPos function can be used to achieve the following tasks:
- Adjust the position and size of the window, allowing you to move it to a specific location.
- Adjusting the size of the window can change both the width and height of the window.
- Arrange the window hierarchy to place windows either above or below other windows.
- Changing the z-axis order of the windows can make them display at the front or back.
- Refreshing the appearance of the window allows you to redraw the window’s frame.
In conclusion, the SetWindowPos function is very useful for controlling the position and size of a window by setting parameters. It is commonly used in C/C++ programming to change the window’s position and size, as well as adjust its layering.