用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧VisualBasic

如何让窗口始终在最前面?

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 19:51:33

调用一个API函数SetWindowPos可实现此功能。

首先添加一个公用模块,将下面的代码放到模块的声明段中。

Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Public Const HWND_TOPMOST = -1
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOZORDER = &H8

将下面的子程序放到模块中

Public Sub SetFormTopmost(TheForm As Form)

SetWindowPos TheForm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, _
SWP_NOZORDER + SWP_NOMOVE + SWP_NOSIZE

End Sub

最后,通过调用该子程序设置你想要放置的窗体。例如,你想将窗体frmMyForm放在最前面,代码如下:

SetFormTopmost frmMyForm.
 

请注意,在VB的API查看器中将SWP_NOZORDER设成&H4,正确值就为&H8。要了解更多此函数的信息,可访问下面的网址:http://www.microsoft.com/msdn/sdk/platforms/doc/sdk/win32/func/src/f84_2.htm

查看SetWindowPos的详细用法

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:19,250.00000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号