庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>程序设计>VB专区>编程技巧>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

利用VB控制窗口显示风格

 作者:郭少越    日期:2005-8-4 11:35:23
字号选择〖 〗/ 双击滚屏 单击停止   
软件界面生动与否很大程度上决定于你对窗口的设计和控制。事实上,Windows程序员可以对系统中的任何窗口进行操纵,它意味着,Windows程序员可以直接操纵任何正在运行的应用窗口;可以发现一个特定的应用是否在运行,如果该应用没有运行还可以启动它;可以重新排列屏幕上的所有窗口;还可以使其他应用的窗口最大化或最小化。下面我们探讨一种十分有意义的应用。
我们很希望在程序激活其它窗口时仍使得封面窗口处于前台,也就是说该窗口具有“ 总在最前面”(“Always On Top”)这一特性。其实Microsoft系列软件都是这样做的,当你运行Word、Excel或PowerPoint时,你会发现它们的封面窗口不随系统激活其它窗口而消
失。
Visual Basic For Windows 3.0(以下简称VB)作为一种可视化编程软件,以其优秀的图形化界面设计风格而著称。利用它可使软件开发周期大为缩短,然而VB对Windows DLL(动态链接库)调用的强大功能却易受不少程序员所忽略。事实上,灵活应用Windows DLL的API(应用程序接口)才能使你开发的系统更加充满活力。正是由于VB支持DLL使得我们可以随心所欲地控制窗口显示风格,从而我们可以让系统封面总处于前台,下面说明用到的API函数
.SetWindowPOS
VB定义:Declare Sub SetWindowPos Lib “User” (Bybal hWnd as Integer ,
hWndInserAfter as Integer,ByVal X as Integer,ByVal Y as Integer,ByVal
cx as Integer ,ByVal cyas Integer,ByVal wFlags as Integer)

说明:能改变窗口的位置和大小,并能修改窗口在内部窗口列表中所处的位置,
以控制显示次序。
参数 类型/说明
hWnd Integer-需定位的窗口
hWndInser fter 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 Integer—包含下列标志之一的整数:
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 SetWindowPos Lib “User”(ByBal hWnd as Integer,hWndInserAfter 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
上一篇:VisualBasic中的界面设计原则和编程技巧    下一篇:使用VB设计具有「动感」的命令图标栏  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 郭少越
信息来源: 网络 录入时间: 2005-8-4 11:35:23
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿