VB调用API函数使窗口保持在最上层

2016-02-19 18:26 47 1 收藏

下面,图老师小编带您去了解一下VB调用API函数使窗口保持在最上层,生活就是不断的发现新事物,get新技能~

【 tulaoshi.com - 编程语言 】

----我们看到有的应用程序不管窗口是否活动都使窗口保持在最上层,常见的MicrosoftWord的文件打开和编辑查找窗口就是这样。在VB开发中可以通过调用SetWindowsPos()API函数实现这个功能。该函数声明如下:
  
  PrivateDeclareFunctionSetWindowPos
  Lib"user32"(ByValhwndAsLong,_
  ByValhWndInsertAfterAsLong,ByVal
  xAsLong,ByValyAsLong,_
  ByValcxAsLong,ByValcyAsLong,
  ByValwFlagsAsLong)AsLong
  
  ----hWnd变元是窗口的句柄;x,y是窗口的左上角的坐标;cx、cy是窗口宽度和高度;hWndInsertAfter变元是窗口清单中hWnd窗口前面的窗口句柄,有四个可选值:
  
  序号可选值作用
  1HWND_BOTTOM把窗口放在窗口清单的底部
  2HWND_TOP把窗口放在窗口清单的字符顺序的顶部
  3HWND_TOPMOST把窗口放在窗口清单的顶部
  4HWND_NOTOPMOST把窗口放在窗口清单的顶部,最上层窗口之下
  
  ----WFlags变元为整型值,有八个可选值:
  
  序号可选值作用
  1SWP_DRAWFRAME在窗口周围画一个方框
  2SWP_HIDEWINDOW隐藏窗口
  3SWP_NOACTIVATE不激活窗口
  4SWP_NOMOVE保持窗口当前位置
  5SWP_NOREDRAW窗口不自动重画
  6SWP_NOSIZE保持窗口当前尺寸
  7SWP_NOZORDER保持窗口在窗口清单中的当前位置
  8SWP_SHOWWINDOW显示窗口
  
  ----下面的例子程序Test演示了对函数中的以上7个变元作正确的选择后,应用程序运行后窗口总可保持在最上层,程序清单如下:
  
  OptionExplicit
  PrivateDeclareFunctionSetWindowPos
  Lib"user32"(ByValhwndAsLong,_
  ByValhWndInsertAfterAsLong,
  ByValxAsLong,ByValyAsLong,_
  ByValcxAsLong,ByValcyAsLong,
  ByValwFlagsAsLong)AsLong
  PrivateConstHWND_TOPMOST=-1
  PrivateConstSWP_SHOWWINDOWS=&H40
  
  PrivateSubForm_Load()
  DimretValueAsLong
  retValue=SetWindowPos(Me.hwnd,
  HWND_TOPMOST,Me.CurrentX,_
  Me.CurrentY,300,300,SWP_SHOWWINDOWS)
  EndSub
  
  ----备注:编写函数声明时,整个函数声明须在一行中写完,不可提行。一般是自动从系统中得到函数声明,方法是从VB的外接程序管理中启动“API浏览”程序,在“API浏览”程序中找到所需的函数声明,然后复制到VB代码中。->

来源:https://www.tulaoshi.com/n/20160219/1617691.html

延伸阅读
Api函数是构筑Windws应用程序的基石,每一种Windows应用程序开发工具,它提供的底层函数都间接或直接地调用了Windows API函数,同时为了实现功能扩展,一般也都提供了调用WindowsAPI函数的接口, 也就是说具备调用动态连接库的能力。Visual C#和其它开发工具一样也能够调用动态链接库的API函数。.NET框架本身提供了这样一种服务,允许受管辖的代...
原则上,只改这一次,下一次开机会还原,但假如需重开机,才会Update Registry中的设定,并重开机。 !-- frame contents -- !-- /frame contents -- 假如要永久设定其设定值,请将 b = ChangeDisplaySettings(DevM, 0) 改成 b = ChangeDisplaySettings(DevM, CDS_UPDATEREGISTRY) 注: ...
标签: Web开发
HTML帮助文件是WINDOWS基本帮助系统的一种新标准,在WINDOWS 98中我们到处都可以看到它的身影。作为一种时尚,我们的应用软件自然也不能够落后,于是我就着手将原来的帮助文件重新编译为HTML帮助文件。从VISUAL STUDIO 98中可以找到 HTML HELP WORKSHOP,使用方法不是太难,由于我有自己的个人网站,制作HTML 文件自然也不在话下。很快,一...
在VB中用API实现多媒体主要是调用Windows的mmsystem.dll库。以下为调用API的声明(这些代码放在程序的声明部分中): 1.′播放CD和AVI所需要的声明。 DeclareFunctionmciSendStringLib″MMSYSTEM″(ByVal lpstrCommandasString,ByVallpstrReturnStrasAny,By ValwRetumLenasInteger,ByValhCallBackasInteger)as Long ...
功能强大的API(应用程序接口)函数对于VB(VisualBasicForWindows)程序员来说,不愧是很好的编程工具,然而使用API函数的程序员也许都遇到这样的现象。在VB集成环境下,程序运行后,出现一错误信息对话框,按确定键后系统自动退出VB集成环境,此时如果你的程序尚未存盘,那末很遗憾挽回损失已回天乏力。最后一次存盘之后的程序都不复存在。这...

经验教程

900

收藏

85
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部