閃爍的標題欄
本例通過調用API函數 FlashWindow 實現了窗體標題欄的閃爍,標題欄的閃爍通常用來引起使用者的注意。
在VB中聲明這個API函數的方法是:
其中各個參數的意義如下表所示:
參數 意義
hwnd Long,要閃爍顯示的窗口的句柄
bInvert Long,TRUE(非零)表示切換窗口標題;FALSE返回最初狀態
返回值 Long,如窗口在調用前處于活動狀態,則返回TRUE(非零)
為了使窗體出現閃爍的效果,我們在Timer控件的Timer屬性中調用FlashWindow函數即可,使用的方法如下:
其中Me.hwnd是當前窗體的句柄,而把bInvert設為True則表示進入標題欄閃爍狀態。
而停止閃爍的方法只要把bInvert設為False就行了,如下所示:
Call FlashWindow(Me.hwnd, False)
好了,非常簡單,試試把它用到你的程序中去吧。
為了學習方便,以下提供了源代碼并附詳細的中文注釋:
-------------------------------------------
一個窗體標題閃爍的例子
-------------------------------------------
程序說明:
本例通過調用API函數 FlashWindow 實現了窗體標題欄的閃爍,標題欄的閃爍
通常用來引起用戶的注意。
-------------------------------------------
【VB聲明】
【說明】
閃爍顯示指定窗口。這意味著窗口的標題和說明文字會發生變化,似乎從活動切換到非活動狀態、或反向切換。通常對不活動的窗口應用這個函數,引起用戶的注意
【返回值】
Long,如窗口在調用前處于活動狀態,則返回TRUE(非零)
【備注】
該函數通常與一個計數器組合使用,生成連續的閃爍效果。在windows
nt及windows for workgroup中,bInvert參數會被忽略。但在windows 95中不會忽略
【參數表】
hwnd ----------- Long,要閃爍顯示的窗口的句柄
bInvert -------- Long,TRUE(非零)表示切換窗口標題;FALSE返回最初狀態
用來標示當前是否處于閃爍狀態,取值True/False
如果沒有閃爍,開始閃爍
否則,停止閃爍
這一語句是必須的,不然停止閃爍時標題欄可能會處于灰暗狀態
以一定時間間隔閃爍,可以通過改變Timer1控件的Interval屬性的值來改變
調用 FlashWindow函數,Me.hwnd是Form1窗體的句柄
在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 |