WinAPI: SetWindowPos - 改变窗口的位置与状态

简介: //声明:SetWindowPos(  hWnd: HWND;            {窗口句柄}  hWndInsertAfter: HWND; {窗口的 Z 顺序}  X, Y: Integer;        {位置}  cx, cy: Integer;      {大小}  uFlags: UINT          {选项}): BOOL;//hW

//声明:
SetWindowPos(
  hWnd: HWND;            {窗口句柄}
  hWndInsertAfter: HWND; {窗口的 Z 顺序}
  X, Y: Integer;         {位置}
  cx, cy: Integer;       {大小}
  uFlags: UINT           {选项}
): BOOL;

//hWndInsertAfter 参数可选值:
HWND_TOP       = 0;        {在前面}
HWND_BOTTOM    = 1;        {在后面}
HWND_TOPMOST   = HWND(-1); {在前面, 位于任何顶部窗口的前面}
HWND_NOTOPMOST = HWND(-2); {在前面, 位于其他顶部窗口的后面}

//uFlags 参数可选值:
SWP_NOSIZE         = 1;    {忽略 cx、cy, 保持大小}
SWP_NOMOVE         = 2;    {忽略 X、Y, 不改变位置}
SWP_NOZORDER       = 4;    {忽略 hWndInsertAfter, 保持 Z 顺序}
SWP_NOREDRAW       = 8;    {不重绘}
SWP_NOACTIVATE     = $10{不激活}
SWP_FRAMECHANGED   = $20{强制发送 WM_NCCALCSIZE 消息, 一般只是在改变大小时才发送此消息}
SWP_SHOWWINDOW     = $40{显示窗口}
SWP_HIDEWINDOW     = $80{隐藏窗口}
SWP_NOCOPYBITS     = $100; {丢弃客户区}
SWP_NOOWNERZORDER  = $200; {忽略 hWndInsertAfter, 不改变 Z 序列的所有者}
SWP_NOSENDCHANGING = $400; {不发出 WM_WINDOWPOSCHANGING 消息}
SWP_DRAWFRAME      = SWP_FRAMECHANGED; {画边框}
SWP_NOREPOSITION   = SWP_NOOWNERZORDER;{}
SWP_DEFERERASE     = $2000;            {防止产生 WM_SYNCPAINT 消息}
SWP_ASYNCWINDOWPOS = $4000;            {若调用进程不拥有窗口, 系统会向拥有窗口的线程发出需求}

//举例:
procedure TForm1.Button1Click(Sender: TObject);
begin
  SetWindowPos(Handle, HWND_TOPMOST, 0,0, 100,200, SWP_SHOWWINDOW);
end;


相关文章
窗口置前的几种方法
函数功能:该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序。子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序、顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口。
关于MFC禁止窗口最大化按钮和禁止改变窗口大小
关于MFC禁止窗口最大化按钮和禁止改变窗口大小
318 0
Qt 解决窗口在多个显示器上显示位置设置问题
参考链接:https://blog.csdn.net/x85371169/article/details/79351999
684 0
QML学习笔记(三)-按钮控制窗口的状态取反
实现功能:点击按钮打开子窗口,再次点击该按钮可以关闭子窗口,主要就是状态取反。 代码如下:
1742 0
|
C#
C#根据句柄改变窗体控件值
原文:C#根据句柄改变窗体控件值 需求是这样,有个程序界面我们需要通过自己的程序持续输入数据,界面如图。 可以获得控件的句柄而用钩子写入值。这里需要用到spy++工具。在VS的工具下有个spy++工具,打开如下图 通过这个工具可以获得窗体的句柄,当然这里获得的句柄只能用于测试,因为.net开发的程序窗体每次打开句柄都会变,都需要重新获得。
1608 0
|
iOS开发 前端开发 JavaScript
关于iphone 上touch事件动态改变元素位置时与touch点发生偏移的问题
写这个么个题目好像,有点晦涩。直接来张gif图就知道,主要是是当手指触摸到元素时,元素的初始位置变成了left:0, top:0; js 设置监听事件 都是 一样的套路  touch.
1382 0