孕妇能喝猴姑米稀吗:一个窗体标题闪烁的例子

来源:百度文库 编辑:偶看新闻 时间:2024/05/06 07:51:16

'-------------------------------------------
'        一个窗体标题闪烁的例子
'-------------------------------------------
'         洪恩在线   求知无限
'-------------------------------------------
'程序说明:
'    本例通过调用API函数 FlashWindow 实现了窗体标题栏的闪烁,标题栏的闪烁
'通常用来引起用户的注意。
'-------------------------------------------
'【VB声明】
'   Private Declare Function FlashWindow Lib "user32" (ByVal hwnd As Long, ByVal bInvert As Long) As Long

'【说明】
'   闪烁显示指定窗口。这意味着窗口的标题和说明文字会发生变化,似乎从活动切换到非活动状态、或反向切换。通常对不活动的窗口应用这个函数,引起用户的注意

'【返回值】
'   Long,如窗口在调用前处于活动状态,则返回TRUE(非零)

'【备注】
'   该函数通常与一个计数器组合使用,生成连续的闪烁效果。在windows
'   nt及windows for workgroup中,bInvert参数会被忽略。但在windows 95中不会忽略

'【参数表】
'   hwnd -----------   Long,要闪烁显示的窗口的句柄

'   bInvert --------   Long,TRUE(非零)表示切换窗口标题;FALSE返回最初状态
Private Declare Function FlashWindow Lib "user32" ( _
     ByVal hwnd As Long, ByVal bInvert As Long) As Long

'用来标示当前是否处于闪烁状态,取值True/False
Dim OnFlash As Boolean

Private Sub Command1_Click()

'如果没有闪烁,开始闪烁
If OnFlash = False Then
Command1.Caption = "停止闪烁"
Timer1.Enabled = True
OnFlash = True

'否则,停止闪烁
Else
Timer1.Enabled = False
Command1.Caption = "窗体标题栏闪烁"
'这一语句是必须的,不然停止闪烁时标题栏可能会处于灰暗状态
Call FlashWindow(Me.hwnd, False)
OnFlash = False
End If
End Sub

'以一定时间间隔闪烁,可以通过改变Timer1控件的Interval属性的值来改变
Private Sub Timer1_Timer()

'调用 FlashWindow函数,Me.hwnd是Form1窗体的句柄
Call FlashWindow(Me.hwnd, True)
End Sub


'程序说明:
'    本例通过调用API函数 FlashWindow 实现了窗体标题栏的闪烁,标题栏的闪烁
'通常用来引起用户的注意。
'-------------------------------------------
'【VB声明】
'   Private Declare Function FlashWindow Lib "user32" (ByVal hwnd As Long, ByVal bInvert As Long) As Long

'【说明】
'   闪烁显示指定窗口。这意味着窗口的标题和说明文字会发生变化,似乎从活动切换到非活动状态、或反向切换。通常对不活动的窗口应用这个函数,引起用户的注意

'【返回值】
'   Long,如窗口在调用前处于活动状态,则返回TRUE(非零)

'【备注】
'   该函数通常与一个计数器组合使用,生成连续的闪烁效果。在windows
'   nt及windows for workgroup中,bInvert参数会被忽略。但在windows 95中不会忽略

'【参数表】
'   hwnd -----------   Long,要闪烁显示的窗口的句柄

'   bInvert --------   Long,TRUE(非零)表示切换窗口标题;FALSE返回最初状态
Private Declare Function FlashWindow Lib "user32" ( _
     ByVal hwnd As Long, ByVal bInvert As Long) As Long

'用来标示当前是否处于闪烁状态,取值True/False
Dim OnFlash As Boolean

Private Sub Command1_Click()

'如果没有闪烁,开始闪烁
If OnFlash = False Then
Command1.Caption = "停止闪烁"
Timer1.Enabled = True
OnFlash = True

'否则,停止闪烁
Else
Timer1.Enabled = False
Command1.Caption = "窗体标题栏闪烁"
'这一语句是必须的,不然停止闪烁时标题栏可能会处于灰暗状态
Call FlashWindow(Me.hwnd, False)
OnFlash = False
End If
End Sub

'以一定时间间隔闪烁,可以通过改变Timer1控件的Interval属性的值来改变
Private Sub Timer1_Timer()

'调用 FlashWindow函数,Me.hwnd是Form1窗体的句柄
Call FlashWindow(Me.hwnd, True)
End Sub

  在VB中声明这个API函数的方法是::
   Private Declare Function FlashWindow Lib "user32" (ByVal hwnd As Long,
   ByVal bInvert As Long) As Long

  其中各个参数的意义如下表所示:

参数 意义 hwnd Long,要闪烁显示的窗口的句柄 bInvert Long,TRUE(非零)表示切换窗口标题;FALSE返回最初状态 返回值 Long,如窗口在调用前处于活动状态,则返回TRUE(非零)

  为了使窗体出现闪烁的效果,我们在Timer控件的Timer属性中调用FlashWindow函数即可,使用的方法如下:
  Call FlashWindow(Me.hwnd, True)

  其中Me.hwnd是当前窗体的句柄,而把bInvert设为True则表示进入标题栏闪烁状态。

  而停止闪烁的方法只要把bInvert设为False就行了,如下所示:
  Call FlashWindow(Me.hwnd, False)

  好了,非常简单,试试把它用到你的程序中去吧。