Win32 SetWindowPos 函数详解
        【摘要】  函数作用SetWindowPos 主要用来设置窗口位置及其在Z轴的序列 函数原型WINUSERAPI BOOL WINAPI SetWindowPos(    HWND    hWnd,      //窗口句柄    HWND    hWndInsertAfter,//窗口显示位置,见下表    int     X,         //x坐标    int     Y,         ...
    
    
    
    函数作用
SetWindowPos 主要用来设置窗口位置及其在Z轴的序列
函数原型
WINUSERAPI BOOL WINAPI SetWindowPos(
    HWND    hWnd,      //窗口句柄
    HWND    hWndInsertAfter,//窗口显示位置,见下表
    int     X,         //x坐标
    int     Y,         //y坐标
    int     cx,        //宽度
    int     cy,        //高度
    UINT    uFlags     //窗口尺寸和定位的标志,见下表
);
 
 参数含义
hWndInsertAfter
用来设置当前窗口,相对于屏幕上其它窗口在Z轴的位置
| hWndInsertAfter | 含义 | 
|---|---|
| HWND_BOTTOM | 将窗口置于Z序的底部 | 
| HWND_NOTOPMOST | 将窗口置于所有非顶层窗口之上(即在所有顶层窗口之后) | 
| HWND_TOP | 将窗口置于Z序的顶部 | 
| HWND_TOPMOST | 将窗口置于所有非顶层窗口之上。即使窗口未被激活窗口也将保持顶级位置 | 
uFlags
用来确定窗口的状态和定位,下面的值可以用或来连接
| uFlags | 含义 | 
|---|---|
| SWP_ASYNCWINDOWPOS | 如果调用进程不拥有窗口,系统会向拥有窗口的线程发出需求 | 
| SWP_DEFERERASE | 防止产生WM_SYSNCPAINT消息 | 
| SWP_DRAWFRAME | 在窗口周围画个边框(定义在窗口类中描述) | 
| SWP_FRAMECHANGED | 给窗口发送WM_NCCALCSIZE消息,即使窗口尺寸没改变也发送 | 
| SWP_HIDEWINDOW | 隐藏窗口 | 
| SWP_NOACTIVATE | 不激活窗口 | 
| SWP_NOCOPYBITS | 清除客户区的所有内容 | 
| SWP_NOMOVE | 不改变当前位置,忽略X和Y的值 | 
| SWP_NOOWNERZORDER | 不改变Z序中的位置 | 
| SWP_NOREDRAW | 不重绘改变的内容 | 
| SWP_NOREPOSITION | 与SWP_NOOWNERZORDER相同 | 
| SWP_NOSENDCHANGING | 防止窗口接收WM_WINDOWPOSCHANGING消息 | 
| SWP_NOSIZE | 维持当前大小(忽略cx和cy的值) | 
| SWP_NOZORDER | 维持当前Z序 | 
| SWP_SHOWWINDOW | 显示窗口 | 
            【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
                cloudbbs@huaweicloud.com
                
            
        
        
        
        
        
        
        - 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)