delphi SetWindowPos改变窗体位置和状态

http://blog.163.com/[email protected]/blog/static/1730690722012534428814/

delphi SetWindowPos改变窗体位置和状态

2012-06-03 16:04:28|  分类: 电脑|举报|字号 订阅

下载LOFTER我的照片书  |

//声明:
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;

时间: 2024-12-15 01:36:36

delphi SetWindowPos改变窗体位置和状态的相关文章

vc 使用SetWindowPos改变窗体的大小,实现折叠,展开

void CWork::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); SetWindowPos(NULL,0,0,900,460,SWP_NOMOVE | SWP_NOZORDER); 上面是初始化窗体的大小. 增加事件响应来 实现窗体的折叠,展开(改变大小) //折叠窗体 void CWork::Onkuozhan() { // TODO: Add your control notification han

打飞机游戏的基本框架:固定窗体位置,不能随意改变窗体大小

package 第五天; import java.awt.Toolkit; import javax.swing.JFrame; public class MainFrame extends JFrame { public MainFrame() { this.setTitle("打飞机框架");//标题 this.setSize(800, 600);//窗体大小 //下面注释的两行代码也可以用来控制窗体显示的位置 // Toolkit tl = Toolkit.getDefaultT

【PyQt5】(02)改变窗体的位置和大小

特别说明 为了直接展示本篇的重点,往期内容将不再写入代码中,读者可按需自行编码组合 为了更好的展示效果,代码段将以图片的形式上传,若想复制代码可移步笔者的Github 为了便于学习,每篇只解决一个小问题,如有问题,请参阅往期内容或在评论区留言 环境说明 平台:WIN10(教育版) 环境:Anaconda5.2(Python3.6.6) IDE:Pacharm2018.2.2(专业版) PyQt5:5.11.2 任务目标 设置窗体的位置和大小 更改窗体位置&大小 输出:一个空的窗体显示在屏幕指定位

改变窗体的大小(理解鼠标的操作事件和过程)

1.Designer.cs代码 namespace 手动改变自制窗体的大小 { partial class Form1 { /// <summary> /// 必需的设计器变量. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// 清理所有正在使用的资源. /// </summary> /// <param name=&

WindowsForm窗体位置

WindowsForm的窗体,是winForm程序的基本单元.窗体的大小和位置是如何控制的呢? 先看窗体的几个属性.如下图所示 一. 设置窗体起始位置居中 窗口默认是在左上角的,可以用微软定义好的FormStartPosition属性来配置为居中: this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; 等同于 这个属性的其他值也可以了解下: 属性值 说明 CenterParent 在其父窗体中居中 Ma

C# 弹出窗体位置设定

一.C#中弹出窗口位置 加入命名空间using System.Drawing和using System.Windows.Forms假定窗口名为form1,则 form1.StartPosition = FormStartPosition.CenterScreen;窗体位置在屏幕中间  form1.StartPosition = FormStartPosition.CenterParent;窗体在其父窗口中间  form1.StartPosition = FormStartPosition.Man

拖拽改变元素位置或大小bug修复

<!doctype html><html><head>   <meta charset="utf-8">   <title>无标题文档</title><style>body{   background:#000;}.upshop-view{   width:320px;   height:499px;   background:#fff;   background-size:contain;   pos

PyQt通过resize改变窗体大小时ListWidget显示异常

前几天开始的pygame音乐播放器Doco,做的差不多了,上午做到了歌词显示和搜索页面.遇到bug,即通过resize改变ui大小时ListWidget显示异常 #目的: 增加一部分窗口用来显示歌词和搜索页面.也就是在原来播放器的基础上通过resize增加窗口宽度,然后增加相应的内容. #test 由于Doco代码过于臃肿,笔者来一个test来描述上午遇到的问题吧. 首先,欲改变ui宽度,则想到resize Test.resize(852, 714) #设置高和宽 Test.setFixedSi

五步教你改变窗体背景色

很多人都在羡慕别人有华丽丽的窗体背景色,为什么自己不能有一个?对!我们也可以有!下面给大家介绍如何修改自己窗体的背景色. 第一步:桌面右键,点击"个性化" 第二步:进入"个性化"以后,点击"窗口颜色" 第三步,进入"窗口颜色"以后,单击"高级外观设置" 第四步:单击"复选框",选择"窗口" 第五步:选择右边上面那个颜色板,如果想要更多颜色,点击"其他...&