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
调用

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