vb_hwnd 急! 高分!
来源:百度知道 编辑:UC知道 时间:2024/05/05 02:05:44
我在做1个窗体最前端显示的小程序
下面是模块里的代码
Module Module1
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(ByVal TheForm As Form)
SetWindowPos(TheForm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, _
SWP_NOZORDER + SWP_NOMOVE + SWP_NOSIZE)
End Sub
End Module
一直提示 “hwnd”不是“System.Windows.Forms.Form”的成员。
是怎么回事
加了call还是报错..
是用form_load事件 通过
Private Sub Form_Load()
SetFormTopmost frmMyForm
End Sub
调用
下面是模块里的代码
Module Module1
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(ByVal TheForm As Form)
SetWindowPos(TheForm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, _
SWP_NOZORDER + SWP_NOMOVE + SWP_NOSIZE)
End Sub
End Module
一直提示 “hwnd”不是“System.Windows.Forms.Form”的成员。
是怎么回事
加了call还是报错..
是用form_load事件 通过
Private Sub Form_Load()
SetFormTopmost frmMyForm
End Sub
调用
TheForm.Handle
hwnd是VB6的
如果是VB6,最简单的:
Private Sub Form_Load()
SetWindowPos hwnd,-1,0,0,0,0,3
End Sub
调用
没问题啊,不过前边应该加个Call
Call SetWindowPos(TheForm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, _
SWP_NOZORDER + SWP_NOMOVE + SWP_NOSIZE)
在线我吧,详细了解一下
frmMyForm存在吗?如果直接让自身前端显示,SetFormTopmost Me就可以了
你是怎么调用的呢?
Private Sub Command2_Click()
SetFormTopmost Form1
End Sub
这样是正常的啊,SetWindowPos返回的是1