转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
利用VB控制窗口显示风格         ★★★★

利用VB控制窗口显示风格

作者:闵涛 文章来源:闵涛的学习笔记 点击数:799 更新时间:2009/4/23 14:58:04
软件界面生动与否很大程度上决定于你对窗口的设计和控制。事实上,Windows程序员可以对系统中的任何窗口进行操纵,它意味着,Windows程序员可以直接操纵任何正在运行的应用窗口;可以发现一个特定的应用是否在运行,如果该应用没有运行还可以启动它;可以重新排列屏幕上的所有窗口;还可以使其他应用的窗口最大化或最小化。下面我们探讨一种十分有意义的应用。

  我们很希望在程序激活其它窗口时仍使得封面窗口处于前台,也就是说该窗口具有“总在最前面”(“Always On Top”)这一特性。其实Microsoft系列软件都是这样做的,当你运行Word、Excel或PowerPoint时,你会发现它们的封面窗口不随系统激活其它窗口而消失。

  Visual Basic For Windows(以下简称VB)作为一种可视化编程软件,以其优秀的图形化界面设计风格而著称。利用它可使软件开发周期大为缩短,然而VB对Windows DLL(动态链接库)调用的强大功能却易受不少程序员所忽略。事实上,灵活应用Windows DLL的API(应用程序接口)才能使你开发的系统更加充满活力。正是由于VB支持DLL使得我们可以随心所欲地控制窗口显示风格,从而我们可以让系统封面总处于前台,下面说明用到的API函数。

  .SetWindowPOSVB定义:

  Declare Sub SetWindowPosLib“User”(Bybal hWnd as Integer,hWndInsertAfter as Integer,ByValXas Integer,ByValYas Integer,ByVal cx as Integer,ByVal cy as Integer,ByVal wFlags as Integer)

  说明:能改变窗口的位置和大小,并能修改窗口在内部窗口列表中所处的位置,以控制显示次序。

  参数类型/说明hWnd Integer-需定位的窗口hWndInsertAfter Integer-窗口句柄,在窗口列表里,

  窗口hWnd将放在该窗口句柄的后面,它可以取以下值:

  hWnd_BOTTOM:把窗口放在窗口列表的底部;

  hWnd-TOP:把窗口放在Z序的顶部。Z序是窗口按层次级别显示的顺序;

  hWnd_TOP(MOST):把窗口放在列表的顶部,位于所有最顶窗口之后。

  X Integer—窗口新的X坐标,如果hWnd是一个子窗口,X给出的是父窗口的客户坐标。

  Y Integer—窗口新的Y坐标,如果hWnd是一个子窗口,Y给出的是父窗口的客户坐标。

  cx Integer—指定新窗口宽度。

  cy Integer—指定新窗口高度。

  wFlags Intege 包含下列标志之一的整数:

  SWP_DRAWFRAME:围绕窗口画一个边框;

  SWP_HIDEWINDOW:隐藏该窗口;

  SWP_NOACTIVATE:不激活该窗口;

  SWP_NOMOVE:保持当前位置(X和Y被忽略);

  SWP_NOREDRAW:窗口不自动重画;

  SWP_NOSIZE:保持当前大小(cx和cy被忽略);

  SWP_NOZORDER:保持窗口列表中的当前位置(hWndInsertAfter被忽略);

  SWP_SHOWWINDOW:显示该窗口。

  注释:当一个窗口成为最顶窗口时,它所有的从属窗口也成为最顶窗口;当它成为非最顶窗口时,它全部的从属窗口和拥有窗口也成为非最顶窗口,Z序表示窗口沿着从屏幕里向外延伸的假想Z轴,从顶到底的排列次序。

  VB实现窗口拥有“Always On Top”特性:

  首先,定义全局常量及函数。

Global Const hWnd_TOPMOST=-1
Global Const SWP_NOACTIVATE=&H10
Global Const SWP_SHOWWINDOW=&H40
Declare Sub SetWindowPosLib “User” ByBal hWnd as Integer,hWndInsertAfter as Integer,ByVal X as Integer,ByVal Y as Integer,ByVal cx as Integer,ByVal cy as Integer,ByVAL wFlags as Integer)

主程序如下编写:

Sub Main 0
Screen.MousePointer=11使鼠标变为漏斗状
Load SystemCover装载系统封面窗体
SetWindowPos SystemCover.hWnd,hWnd_TOPMOST,0,0,0,0,SWP_NOACTIVATE Or SWP_SHOWWINDOW使得封面总处于最前面
Load InitWindow1装载初始化窗体1
Load InitWindow2装载初始化窗体2


Unload SystemCover关闭系统封面窗体
Screen.MousePointer=0
使鼠标变为缺省形状
End Sub


[VB.NET程序]GSM短信模块库函数,可以用VB,VC,调用简单实用  [办公软件]PowerPoint做交互课件之弃用VBA
[办公软件]VBA获取U盘、主板、CPU序列号和网卡MAC地址  [办公软件]VBA设置文件属性及加密源代码示例
[办公软件]VBA中初始化ADO连接的几种方法  [网络安全]“VB破坏者变种N”病毒摘要
[Web开发]ASP.NET上传文件到数据库VB版  [办公软件]在Excel中利用VBA实现多表单元格数据的读取与赋值…
[办公软件]使用Vba读取已关闭的Excel工作薄数据到当前工作表…  [办公软件]Excel编程基础之VBA文件操作详解
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台