VB问题。设置窗体的什么属性能够使该窗体始终是最前显示?请高手指点。
1个回答
展开全部
用一个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.
首先添加一个公用模块,将下面的代码放到模块的声明段中。
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.
参考资料: http://hi.baidu.com/%D3%FE%B6%F9/blog/item/08022fca840f2083c917688e.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询