vb6.0中的窗体如何设置最前?
窗体不会被别的窗口覆盖,总显示最前面,但弹出的msgbox不受影响,也就是msgbox弹出时也在最前,求代码...
窗体不会被别的窗口覆盖,总显示最前面,但弹出的msgbox不受影响,也就是msgbox弹出时也在最前,求代码
展开
2013-06-27
展开全部
应该是always .....不记得了,我很久没有碰过VB了,不过那个属性应该是有一个always的,你看看吧!!! 有一个Api函数···代码我等会给你···呵呵·· 好了···在下面···
Option Explicit
'控制任务栏的隐藏和显示的函数。函数的参数分别为 窗体句柄 窗体显示方式 窗体坐标 窗体坐标 窗体坐标 窗体坐标 函数工作方式标志
'用于确定窗体显示形式的常数为 hwnd_topmst=-1 将窗体保持在最前面 hwnd_notopmost=-2 不将窗体宝石在最前面
'swap_nosize=&h1 窗体装入时不改变原有尺寸 swap_nomove=&h2 窗体装入时保持原窗体设计师在屏幕上的位置
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 Long
Const hwnd_topmost = -1
Const swp_nosize = &H1
Const swp_nmove = &H2
Private Sub Form_Load()
SetWindowPos Me.hwnd, hwnd_topmost, 0, 0, 0, 0, swp_nosize Or swp_nmove
'只有swp_nosize的时候大小不变但位置移到了左上角即(0,0)点;只有swp_nmove时位置不变但大小相当于为零;
'这里的“或”的关系是“逻辑加”,因为0001或0010为0011,1+2=3.这里不能用and,用and便为两个都为1才为1,所以结果为0000
End Sub
Option Explicit
'控制任务栏的隐藏和显示的函数。函数的参数分别为 窗体句柄 窗体显示方式 窗体坐标 窗体坐标 窗体坐标 窗体坐标 函数工作方式标志
'用于确定窗体显示形式的常数为 hwnd_topmst=-1 将窗体保持在最前面 hwnd_notopmost=-2 不将窗体宝石在最前面
'swap_nosize=&h1 窗体装入时不改变原有尺寸 swap_nomove=&h2 窗体装入时保持原窗体设计师在屏幕上的位置
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 Long
Const hwnd_topmost = -1
Const swp_nosize = &H1
Const swp_nmove = &H2
Private Sub Form_Load()
SetWindowPos Me.hwnd, hwnd_topmost, 0, 0, 0, 0, swp_nosize Or swp_nmove
'只有swp_nosize的时候大小不变但位置移到了左上角即(0,0)点;只有swp_nmove时位置不变但大小相当于为零;
'这里的“或”的关系是“逻辑加”,因为0001或0010为0011,1+2=3.这里不能用and,用and便为两个都为1才为1,所以结果为0000
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询