2015-11-19 125 views
-2

我正在构建VB6.0应用程序,用户在哪里刷卡和表单会出现一种感谢信息。休息一切工作正常,只有形式得到最小化,而应该弹出。
我GOOGLE了他们的Form.Activate,但是当我写它给出了错误。如何以编程方式激活vb6中的表单

编译错误:方法或数据成员找不到

我是新来的VB所以请原谅如有幼稚的错误。
代码:

Me.Hide 
    Form2.Show 
    Form2.Activate 

我需要窗体2蹦出来。

感谢

+0

你已经建立一个代表他70年代并不知道比不让我们看看你的代码? – LDMJoe

+0

他们没有什么特别的代码,但我已经添加了它。 – mark

+0

在VB6的Form中没有'Activate'方法,与VBA中的某些对象不同。你正在混合一些东西。 – MicSim

回答

0

我能够通过

Private Sub Form_Load() 

Dim lR As Long 
    lR = SetTopMostWindow(Form2.hwnd, True) 

End Sub 

实现,并添加一个模块

Option Explicit 
Public Const SWP_NOMOVE = 2 
Public Const SWP_NOSIZE = 1 
Public Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE 
Public Const HWND_TOPMOST = -1 
Public Const HWND_NOTOPMOST = -2 

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 Function SetTopMostWindow(hwnd As Long, Topmost As Boolean) _ 
    As Long 

    If Topmost = True Then 'Make the window topmost 
     SetTopMostWindow = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, _ 
      0, FLAGS) 
    Else 
     SetTopMostWindow = SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, _ 
      0, 0, FLAGS) 
     SetTopMostWindow = False 
    End If 
End Function</pre> 

一个可以参考https://support.microsoft.com/en-us/kb/184297

感谢

相关问题