发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:10519, 日期:2001-11-26
闪烁的标题栏
本例通过调用API函数 FlashWindow 实现了窗体标题栏的闪烁,标题栏的闪烁通常用来引起使用者的注意。
在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)
好了,非常简单,试试把它用到你的程序中去吧。
为了学习方便,以下提供了源代码并附详细的中文注释:
-------------------------------------------
一个窗体标题闪烁的例子
-------------------------------------------
程序说明:
本例通过调用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中声明这个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)
好了,非常简单,试试把它用到你的程序中去吧。
为了学习方便,以下提供了源代码并附详细的中文注释:
-------------------------------------------
一个窗体标题闪烁的例子
-------------------------------------------
程序说明:
本例通过调用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