vb窗体总是在最前面的设置

[复制链接]
查看11 | 回复3 | 2016-1-4 11:19:17 | 显示全部楼层 |阅读模式
先调用API函数实现窗体总在最上,代码如下:Private 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 LongConst HWND_TOPMOST = -1Private Sub Form_Load()
'总在最上
SetWindowPos Me.hwnd, HWND_TOPMOST, Me.Left / Screen.TwipsPerPixelX _
, Me.Top \ Screen.TwipsPerPixelY, Me.Width \ Screen.TwipsPerPixelX, _
Me.Height \ Screen.TwipsPerPixelY, 0End Sub然后在显示这个窗体时用模态,例如:假设上面的窗体为Form1Form1.Show vbModal这样窗体不仅会在最上,而且必须输入正确的密码才能访问别的窗体
回复

使用道具 举报

千问 | 2016-1-4 11:19:17 | 显示全部楼层
在这个窗体的show方法后面加个vbmodal就可以了,你打空格它自己就出现选项了.
回复

使用道具 举报

千问 | 2016-1-4 11:19:17 | 显示全部楼层
使用API函数SetWindowPos Private Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (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在Form_Load中加入如下代码
SetWindowPos hwnd, -1, 0, 0, 0, 0, 3
回复

使用道具 举报

千问 | 2016-1-4 11:19:17 | 显示全部楼层
让其他窗体的Enabled = False试试行不?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行