窗口函数

窗口函数主要可分为四个类型(也许说为"这是为了这次讲课分类出来的"更适合一些)∶

  1、窗口分级函数

  2、窗口位置与大小函数

  3、窗口信息函数

  4、其他窗口函数

  以下我们就一一讲述。但由于窗口函数比较多,在这里就选择性的进行讨论。关于窗口函数有多少,具体的用法如何,您可以注意"小雁侠"的VB API站点的技术文档,或者本站程序下载栏目中的WInAPI帮助文。由于帮助文其内容来自"小雁侠"的网站,因此其内容更新比较起来会较晚一些。

  窗口分级函数

  系统中运行的窗口是有级别的高低之分的。谁不知道这样?这当然是废话。很多文章都是采用类似的这种废话来做导语,在这里我只不过也是学学而罢。

  一、父子关系。

  每个窗口都可能有自己的父窗口和子窗口。但,系统中运行的窗口是有限的,说明总得有个窗口是没有其父,我们把它叫做顶级窗口。一般把一个应用程序的主窗口就是顶级窗口,VB独立窗体及MDI窗体都是顶级窗口。窗口间的父子关系一般遵循以下规则∶

  1、父窗口显示时,所有包容在其中的可见的子窗口会随着父窗口的显示显示出来。

  2、父窗口隐藏时,所有包容在其中的子窗口会随着父窗口的隐藏而隐藏。

  3、父窗口被卸载时,哈,您已经知道我想说什么了,当然是∶跟着自动卸载。

  4、父窗口移动时,跟着移动。

  二、兄弟关系及Z序列

  当然,一位父亲有好几个儿女,都是常见的事情。同样,一个父窗口可以拥有多个子窗体。比如,位于一个窗体中的各种控件之间以及MDI窗口的各子窗口之间的关系。父窗口与子窗口的显示、隐藏、卸载及移动,其先后顺序是显而易见的。那么各兄弟窗口之间的情况会是如何呢?

  显然,两个互相重叠的两个子窗体不能都同时显示出它的全貌,自然有个显示的顺序规则。这个顺序规则叫做Z序列。有个解释为,如果把屏幕坐标看层X和Y轴组成的平面(事实上正是如此),那么作为三维坐标系统Z轴可看做是垂直于屏幕的坐标轴。这样,可以认为屏幕上的所有窗口是垂直于这个Z轴的。在Z轴上,谁在前,谁在后,就产生了一个Z序列。很生动!可用WINDOWS API函数和Visual Basic Z序列方法对Z序列进行控制。

  有了以上简单的知识以后,我们就不难应用API窗口分级函数,主要有以下及个∶

  窗口分级函数

  函数名 说 明

  FIndWIndow 按类名或窗口名(CaptIon)查找一个窗口

  findwindowex 类似于FindWindow提供了更多的功能

  GetLastActivePopup 针对指定的窗口,取回上一个活动的弹出式窗口的句柄

  GetParent 获得指定窗口父窗口的句柄

  GetTopWIndow 获得指定窗口的第一个子窗口的句柄

  Getwindow 如给定一个窗口句柄,该函数能取回具有特定关系的另一个窗口的句柄。如,第一个子窗口、父窗口或窗口列表内的上一个或下一个窗口。

  SetParent 改变任何窗口的父窗口。

  从我个人的经验来看,我最常用的是Getwindow和SEtParent函数

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...