型窗口。新建工程,在普通窗体Form1上放置两个命令按钮cmdNormal和cmdTopMost,命令按钮的Caption属性分别为“变成普通窗口”和“变成TopMost窗口”。cmdNormal的Enabled属性为False。为工程添加代码模块Moudall,在其中放置如下声明代码:
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 SWP_NOMOVE= &H2 ''不移动窗体
Public Const SWP_NOSIZE=&H1 ''不改变窗体尺寸
Public Const Flag=SWP_NOMOVE Or SWP_NOSIZE
Public Const HWND_TOPMOST=-1 ''窗体总在最前面
Public Const HWND_NOTOPMOST=-2 ''窗体不在最前面
为窗体添加代码如下:
Private Sub cmdNormal_Click()
cmdTopMost.Enabled=True
cmdNormal. Enabled= False
Form1.Captio = "现在是普通窗口"
SetWindowPos Form1.hwnd,HWND_NOTOPMOST,0,0,0,0,Flag
End Sub
Private Sub cmdTopMost_Click()
cmdTopMost.Enabled = False
cmdNormal.Enabled = True
Form1.Caption = "现在是TopMost窗口"
SetWindowPos Form1.hwnd,HWND_TOPMOST,0,0,0,0,Flag
End Sub
按下F5,运行
程序,单击“变成TopMost窗体”命令按钮,此时窗口即成为TopMost类型。随意打开桌面上的其它窗口,Form1总是处在其它窗口的前面;如果单击“变成普通窗体”按钮。则一切又恢复正常,一旦打开了其它窗口,则其它窗口会将Form1窗口覆盖。