DeferWindowPos (user32)
Last changed: -93.17.31.230

.

DeferWindowPos function

Updates the specified multiple-window – position structure for the specified window. The function then returns a handle to the updated structure. The EndDeferWindowPos function uses the information in this structure to change the position and size of a number of windows simultaneously. The BeginDeferWindowPos function creates the structure.

MSDN : https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-deferwindowpos

C#

[DllImport("User32.dll")]

public static extern bool DeferWindowPos(

        IntPtr hWinPosInfo,
        IntPtr hWnd,           // window handle
        IntPtr hWndInsertAfter,    // placement-order handle
        int X,             // horizontal position
        int Y,             // vertical position
        int cx,            // width
        int cy,            // height
        uint uFlags);          // window positioning flags

public static class HWND

{

    public static IntPtr
    NoTopMost = new IntPtr(-2),
    TopMost = new IntPtr(-1),
    Top = new IntPtr(0),
    Bottom = new IntPtr(1);

}

public static class SWP

{

    public static readonly uint
    NOSIZE = 0x0001,
    NOMOVE = 0x0002,
    NOZORDER = 0x0004,
    NOREDRAW = 0x0008,
    NOACTIVATE = 0x0010,
    DRAWFRAME = 0x0020,
    FRAMECHANGED = 0x0020,
    SHOWWINDOW = 0x0040,
    HIDEWINDOW = 0x0080,
    NOCOPYBITS = 0x0100,
    NOOWNERZORDER = 0x0200,
    NOREPOSITION = 0x0200,
    NOSENDCHANGING = 0x0400,
    DEFERERASE = 0x2000,
    ASYNCWINDOWPOS = 0x4000;

}