SetWindowPos 和Z序】的更多相关文章

参考文档:http://www.cnblogs.com/findumars/p/3948315.html SetWindowPos(hWnd: HWND; {窗口句柄}hWndInsertAfter: HWND; {窗口的 Z 顺序}X, Y: Integer; {位置}cx, cy: Integer; {大小}uFlags: UINT {选项}): BOOL; //hWndInsertAfter 参数可选值:HWND_TOP = 0; {在前面}HWND_BOTTOM = 1; {在后面}HW…
//转自:http://blog.csdn.net/flowshell/article/details/4797917 Z 序:一个重叠窗口的堆,每个窗口在Z 序中 都有唯一一个位置.一个窗口的Z 序 ,指明了该窗口在重叠窗口堆中的位置.这个窗口堆 是沿着一个虚拟的轴——“ Z 轴”,从屏幕上垂直向屏幕外延伸. Z 序顶部的窗口覆盖 Z 序中的其他窗口. Z 序底部的窗口被 Z 序中的其他窗口覆盖. 系统用一个单链表维护 Z 序.系统按照顶端窗口.顶层窗口和子窗口的分类 ,将窗口插入到 Z 序表…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流之用,请勿进行商业用途.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作! 在Cocos2D中节点Z-order计算规则如下: 子节点总是渲染在其父节点前面 兄弟节点(其父节点相同的节点)按照他们的Z序属性的值来渲染;zOrder值越大渲染越靠前…
import QtQuick 2.4 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 import QtQuick.Window 2.2 Window { visible: true MainForm { anchors.fill: parent mouseArea.onClicked: { Qt.quit(); } Rectangle{ width:320 height: 480 Rectangle{ x:20 y:…
Panel.SetZIndex(rectangle1, 2); //把前台名称为rectangle1的矩形的ZIndex设置为2…
这两个函数经常一起使用,所以放到一起讲: 1 AdjustWindowRect 函数功能:该函数依据所需客户矩形的大小,计算需要的窗口矩形的大小.计算出的窗口矩形随后可以传递给CreateWindow函数,用于创建一个客户区所需大小的窗口. 函数原型:BOOL AdjustWindowRect(LPRECT lpRect ,DWORD dwStyle,BOOL bMENU): 参数: lpRect:指向RECT结构的指针,该结构包含所需客户区域的左上角和右下角的坐标.函数返回时,该结构容纳所需客…
SetWindowPos 函数功能:该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序.子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序.顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口. 函数原型:BOOL SetWindowPos(HWN hWnd,HWND hWndlnsertAfter,int X,int Y,int cx,int cy,UNIT.Flags): 参数: hWnd:窗口句柄. hWndlnsertAfter:在z序中的位于被置位的窗口前的窗口句柄…
敲代码时,突然发现有一个背景图片无法显示,百思不得其解,最终发现是MoveWindow() SetWindowPos()这两个函数的使用不当造成的. 这里把这两个函数的前世今生给分析一下. 先看MoveWindow()函数,用于改变窗口的位置和尺寸,对于顶层窗口,按照屏幕对齐与左上角,对于子窗口,则对齐与父窗口的左上角. BOOL MoveWindow( HWND hWnd,int x, int y, int nWidth, int nHeight,BOOL bRepaint = TRUE);…
摘自: http://wenku.baidu.com/link?url=hYKs20rYA13TTdMl9gJ378GNOsxH1DPZPkYZVEIcipATlVBMLzjWdpd2-29fm-tqTCyosa59a-UsbtSXldlTLygBmH8m5WVLotqrgnC1hLq 1.1                SetWindowPos函数说明 BOOL SetWindowPos(HWND hWndlnsertAfter, int X,int Y,int cX,int cY,UNIT…
敲代码时,突然发现有一个背景图片无法显示,百思不得其解,最终发现是MoveWindow() SetWindowPos()这两个函数的使用不当造成的. 这里把这两个函数的前世今生给分析一下. 先看MoveWindow()函数,用于改变窗口的位置和尺寸,对于顶层窗口,按照屏幕对齐与左上角,对于子窗口,则对齐与父窗口的左上角. BOOL MoveWindow( HWND hWnd,int x, int y, int nWidth, int nHeight,BOOL bRepaint = TRUE);/…
SetWindowPos函数改变一个子窗口,弹出式窗口或顶层窗口的尺寸,位置和Z序.子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序.顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口. WINUSERAPI BOOL WINAPI SetWindowPos(HWND hWnd,HWND hWndInsertAfter,int X,int Y,int cx,_In_ int cy, UINTuFlags); hwnd 在z序中的位于被置位的窗口前的窗口句柄.该参数必须为一个窗口句柄…
//声明: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_NOT…
[DllImport("user32.dll")] private static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndlnsertAfter, int X, int Y, int cx, int cy, uint Flags); SetWindowPos( hWnd: HWND; {窗口句柄} hWndInsertAfter: HWND; {窗口的 Z 顺序} X, Y: Integer; {位置} cx, cy: Inte…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace WindowsAPI { class CSharp_Win32Api { #region User32.dll 函数 /// <summary> /// 该函数检索一指定窗口的客户区域或整个屏幕的显示设备上下文环境的句柄,以后可以…
Win32的API函数可以直接在C#中直接调用,在做WinForm时还是很有帮助的.有时候直接调用Win32的API,可以很高效的实现想要的效果. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace WindowsAPI { class CSharp_Win32Api { #regi…
命名空间:System.Runtime.InteropServices /// <summary> /// 该函数检索一指定窗口的客户区域或整个屏幕的显示设备上下文环境的句柄,以后可以在GDI函数中使用该句柄来在设备上下文环境中绘图.hWnd:设备上下文环境被检索的窗口的句柄 /// </summary> [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern IntPtr G…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace WindowsAPI { class CSharp_Win32Api { #region User32.dll 函数 /// <summary> /// 该函数检索一指定窗口的客户区域或整个屏幕的显示设备上下文环境的句柄,以后可以…
1.Form窗体事件 Private Sub Form_Activate() '焦点在此窗口时触发  MsgBox "窗体的Activate事件"  End Sub    Private Sub Form_Initialize()    MsgBox "窗体的Initialize事件"  End Sub    Private Sub Form_Load()    MsgBox "窗体的Load事件"  End Sub    Private Sub…
整理了一下常用的user32API说明 还有软件Microsoft Spy++供大家下载  Spyv10.00.30319.rar using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; using System.Drawing; namespace WindowsFormsApplication1 { p…
user32.dll中的所有函数 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace WindowsAPI { class CSharp_Win32Api { #region User32.dll 函数 /// <summary> /// 该函数检索一指定窗口的客户区域或整个屏幕的…
1.设置窗体TopMost属性 private DispatcherTimer timer; public Window1() { InitializeComponent(); Loaded += new RoutedEventHandler(Window1_Loaded); } void Window1_Loaded(object sender, RoutedEventArgs e) { timer = new DispatcherTimer(); timer.Interval = TimeS…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace WindowsAPI { /// <summary> /// User32.dll 函数类 /// </summary> class CSharp_Win32Api { #region User32.dll 函数 //…
#region User32.dll 函数 /// <summary> /// 该函数检索一指定窗口的客户区域或整个屏幕的显示设备上下文环境的句柄,以后可以在GDI函数中使用该句柄来在设备上下文环境中绘图.hWnd:设备上下文环境被检索的窗口的句柄 /// </summary> [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern IntPtr GetDC(IntPtr hW…
User32.dll提供了很多可供调用的接口,大致如下(转自http://blog.csdn.net/zhang399401/article/details/6978803) using System;    using System.Collections.Generic;    using System.Linq;    using System.Text;    using System.Runtime.InteropServices;       namespace WindowsAPI…
有时候应用程序需要将一个窗体始终位于屏幕的最前面,即使切换到其它窗体也能看到该窗体,这样的窗体就叫做TopMost窗体. 用C#制作TopMost窗体之前,首先要了解如何声明SetWindowPos函数和SetWindowPos函数的具体功能,它们是制作TopMost窗体的关键,C#程序主要是通过调用Windows API函数中的SetWindowPos函数来实现. SetWindowPos函数原型:BOOL SetWindowPos(HWND hWnd, HWND hWndInsertAfte…
1. SetActiveWindow() 原型: <span style="font-size:14px;">CWnd* SetActiveWindow(); HWND SetActiveWindow(hWnd);</span> 功能:该函数激活一个窗体.hWnd:将被激活的最顶层窗体. 返回值:若函数调用成功,则返回原先活动窗体的句柄. 若函数调用失败,则返回值为NULL 备注:SetActiveWindow函数激活一个窗体,但当应用程序处于后台时.将不激活指…
问题1:Owner与Parent不一致:新建一个Form,上面放一个Button1,一个Panel1,然后在Panel1上再放一个Button2,测试结果:procedure TForm1.Button2Click(Sender: TObject);begin ShowMessage(button2.Owner.Name); // 显示Form1,凡是拖控件放到Form上的控件,它们的Owner都是Form,可从TControl.ReadState进入深入研究 ShowMessage(butto…
  1 FindWindowA 2 keybd_event 3 malloc 4 MessageBox 5 MessageBoxA 6 MessageBoxW 7 mouse_event 8 SetCursorPos 9 SetWindowPos 10 ShellExecute 11 ShellExecuteA 12 ShowWindow 13 Sleep   1 FindWindowA HWND win = FindWindowA("", ""); FindWin…
函数名称 说明 ActiveKeyboardLayout 激活一个不同的键盘布局,该布局必须先由LoadKeyBoardLayout函数装载AdjustWindowRect 根据希望的用户矩形大小来计算所需矩形窗口的大小,然后将该窗口矩形给CreateWindow函数,以创建所需的窗口AdjustWindowRectEx 根据希望的客户矩形大小来计算具有扩展式样的窗口所需的矩形窗口大小,然后将该窗口矩形传给CreateWindow函数,以创建所需的窗口AnyPopup 确定屏幕上是否存在未被拥有…
前置学习:低级鼠标hook,获得鼠标状态. 这个在原来获得鼠标状态的基础上,加上一个事件处理即可. TopWind就是一个可以置顶窗口的文件,避免复制粘贴的时候的来回切换(大窗口与小窗口),算是一个实用的工具(至少我蛮喜欢的),所以自己就仿造了写了一个,利用之前的那个鼠标hook. 界面如图所示,可以看到是置顶和恢复. 两个函数: //置顶IsOk = ::SetWindowPos( hWnd, HWND_TOPMOST, , , , , SWP_NOMOVE | SWP_NOSIZE); //…