心动难耐妈妈网:定制化窗体之闪烁窗体标题栏(1)

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 08:34:32
主     题
定制化窗体之闪烁窗体标题栏
版     本
Excel2000及其以后版本
说     明
本示例运用API函数来定制Excel中的用户窗体,使窗体标题栏闪烁。(Code By wangminbai)
在有的程序,其可以闪烁标题来提醒用户。其实在VBA的用户窗体也可以闪烁窗体标题。实现如下:
l         在Excel 的VBE窗口中插入一个用户窗体,将其命名为 FlashForm。然后再添加一个模块。在窗体和模块中添加后面所列代码。
l         在工作薄中的任意工作表中添加一窗体按钮控件,将指定其 设置宏 为 ShowForm。其供示范之用
l         代码:
模块1代码
Option Explicit
'//****************************************************************************************************************************************
'//以下声明API函数
'//闪烁窗口
Private Declare Function FlashWindow _
Lib "user32" ( _
ByVal hwnd As Long, _
ByVal bInvert As Long) _
As Long
'//查找窗口
Private Declare Function FindWindow _
Lib "user32" _
Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) _
As Long
'//****************************************************************************************************************************************
'//Settimer函数的回调函数
Public Function TimeOutProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal SysTime As Long) As Long
Dim HwndForm As Long
'//取得窗口句柄
HwndForm = FindWindow(vbNullString, FlashForm.Caption)
'//闪烁窗口200毫秒
FlashWindow HwndForm, 200
End Function
'//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'//****************************************************************************************************************************************
'//此过程为工作表中按钮所调用
'//****************************************************************************************************************************************
Sub ShowForm()
'//显示窗体
FlashForm.Show
End Sub