设为首页 加入收藏

TOP

11.6.2 截图模块主窗体的设计与实现(3)
2013-10-07 14:35:53 来源: 作者: 【 】 浏览:51
Tags:11.6.2 截图 模块 窗体 设计 实现

11.6.2  截图模块主窗体的设计与实现(3)

【代码解析】

第5、6行获取屏幕的宽度及高度。第7行调用函数SetWindowPos()设置屏幕的位置。第9~11行获取消息框的大小,并设置消息框的位置。第12行设置消息框中显示的消息内容。其中,SetWindowPos()函数是本函数的关键,它可以设置窗体的位置、大小及层次关系,函数原型如下:

  1. BOOL SetWindowPos(  
  2.     HWND hWnd,              //窗口句柄  
  3.     HWND hWndlnsertAfter,   //Z序中的位于被置位置  
  4.     int X,                  //以客户坐标指定窗口新位置的左边界  
  5.     int Y,                  //以客户坐标指定窗口新位置的顶边界  
  6.     int cx,                 //以像素指定窗口的新的宽度  
  7.     int cy,                 //以像素指定窗口的新的高度  
  8.     UNIT.Flags              //窗口尺寸和定位的标志  
  9. );  

SetWindowPos()函数的参数hWndlnsertAfter是指,在Z序中位于被置位的窗口前的窗口句柄。该参数必须为一个窗口句柄,或表11.5中值之一。

表11.5  窗体Z序值表

< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

   

HWND_BOTTOM

将窗口置于Z序的底部。如果参数hWnd标识

了一个顶层窗口,则窗口失去顶级位置,

并且被置在其他窗口的底部

HWND_NOTOPMOST

将窗口置于所有非顶层窗口之上(即在所有

顶层窗口之后)。如果窗口已经是非顶层窗

口则该标志不起作用

HWND_TOP

将窗口置于Z序的顶部

HWND_TOPMOST

将窗口置于所有非顶层窗口之上。即使窗口

未被激活窗口也将保持顶级位置

参数uFlags是窗口尺寸和定位的标志。该参数可以是表11.6中值的组合。

表11.6  窗体尺寸位置标示值表

   

SWP_ASNCWINDOWPOS

如果调用进程不拥有窗口,系统会向拥

有窗口的线程发出需求。这样就防止了

调用线程在其他线程处理需求的时候发生死锁

SWP_DEFERERASE

防止产生WM_SYNCPAINT消息

SWP_DRAWFRAME

在窗口周围画一个边框(定义在窗口类描述中)

SWP_FRAMECHANGED

给窗口发送WM_NCCALCSIZE消息,

即使窗口尺寸没有改变也会发送该消息。

如果未指定这个标志,只有在改

变了窗口尺寸时才发送WM_NCCALCSIZE

SWP_HIDEWINDOW

隐藏窗口

SWP_NOACTIVATE

不激活窗口。如果未设置标志,则窗口被

激活,并被设置到其他最高级窗口或

非最高级组的顶部(根据参数hWndlnsertAfter设置)

SWP_NOCOPYBITS

清除客户区的所有内容。如果未设置该标志,

客户区的有效内容被保存并且在窗口尺寸

更新和重定位后复制回客户区

SWP_NOMOVE

维持当前位置(忽略XY参数)

SWP_NOOWNERZORDER

不改变Z序中的所有者窗口的位置

SWP_NOREDRAW

不重画改变的内容。如果设置了这个标志,

则不发生任何重画动作。适用于客户区和

非客户区(包括标题栏和滚动条)和任何

由于窗口移动而露出的父窗口的所有部分。

如果设置了这个标志,应用程序必须明确地

使窗口无效并去重画窗口的任何部分和父窗

口需要重画的部分

SWP_NOREPOSITION

SWP_NOOWNERZORDER标志相同

SWP_NOSENDCHANGING

防止窗口接收WM_WINDOWPOSCHANGING消息

SWP_NOSIZE

维持当前尺寸(忽略cxCy参数)

SWP_NOZORDER

维持当前Z序(忽略hWndlnsertAfter参数)

SWP_SHOWWINDOW

显示窗口


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇11.6.1 信息提示框的设计与实现(.. 下一篇11.6.2 截图模块主窗体的设计与实..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: