Option Explicit Dim flag As BooleanPrivate Sub Form_Activate() flag = False End SubPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If flag = True Then If Shift <> 0 And KeyCode <> 0 Then Shift = 0 KeyCode = 0 End If End If End Sub'Private Sub Form_KeyPress(KeyAscii As Integer) ' If KeyAscii <> 0 Then ' KeyAscii = 0 ' End If ' 'End SubPrivate Sub Form_Load() flag = True End Sub 这样运行以后也不能作用,可以用一个变量flag在load时为真从而便上面运行,在form_active中置为false(keypress不能实现)
启动画面必须始终处于最前端,用API函数 SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, Flag声明: 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 SWP_NOMOVE = &H2 '不移动窗体 Public Const SWP_NOSIZE = &H1 '不改变窗体尺寸 Public Const Flag = SWP_NOMOVE Or SWP_NOSIZE Public Const HWND_TOPMOST = -1 '窗体总在最前面 Public Const HWND_NOTOPMOST = -2 '窗体不在最前面
KeyAscii = 0
End If
写在keypress事件里!
Dim flag As BooleanPrivate Sub Form_Activate()
flag = False
End SubPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If flag = True Then
If Shift <> 0 And KeyCode <> 0 Then
Shift = 0
KeyCode = 0
End If
End If
End Sub'Private Sub Form_KeyPress(KeyAscii As Integer)
' If KeyAscii <> 0 Then
' KeyAscii = 0
' End If
'
'End SubPrivate Sub Form_Load()
flag = True
End Sub
这样运行以后也不能作用,可以用一个变量flag在load时为真从而便上面运行,在form_active中置为false(keypress不能实现)
SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, Flag声明:
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 SWP_NOMOVE = &H2 '不移动窗体
Public Const SWP_NOSIZE = &H1 '不改变窗体尺寸
Public Const Flag = SWP_NOMOVE Or SWP_NOSIZE
Public Const HWND_TOPMOST = -1 '窗体总在最前面
Public Const HWND_NOTOPMOST = -2 '窗体不在最前面
每个人都有分哟!!!
在每一个启动画面的初始化中加入
If KeyAscii Then
KeyAscii = 0
End If