在VB中实现闪动标题栏
2018-06-17 17:09:28来源:未知 阅读 ()
在你的应用程序中,你可能会希望将应用程序的标题栏进行闪动,以提醒用户进行某种操作,本文介绍了如何使一个窗口的标题栏进行闪动。
闪动标题栏
闪动一个窗口的标题栏意味着改变它的标题栏的外观,例如它从活动变为不活动,或是从不活动变为活动等等。只要你能在VisualBasic中得到窗口的句柄,你就可以使用Windows应用程序编程接口(API)函数来使该窗口的标题栏进行闪动。函数FlashWindows可以被用使一个特定的窗口闪动一次。要使用该函数,需要将如下的声明语句包含在你的窗体的通用声明部分中:
#IfWin32Then
DeclareFunctionFlashWindowLib"user32"(ByValhwndAsLong,ByValbInvertAsLong)AsLong
#Else
DeclareFunctionFlashWindowLib"User"(ByValhwndAsInteger,ByValbInvertAsInteger)AsInteger
#EndIf
该函数需要2个参数,第一个参数是要闪动标题栏的窗口的句柄,第二个参数用于指定是设置窗口的闪动状态,还是恢复其原始状态。如果该bInvert参数非0,则表明窗口的标题栏被闪动,如果该参数为0,则表明窗口的标题栏被恢复为原始状态。该函数所返回的值用于指定调用该函数前窗口的状态,如果该返回值非0,则表明窗口在调用该函数之前是活动的,否则,如果返回值为0,则表明调用函数前窗口是非活动的。当使用该FlashWindow函数时,一个较好的方法是将标题栏闪动的频率设置为同脱字符(也即闪动的光标)相同,脱字符的闪动频率可以通过调用函数GetCaretBlinkTime来获得。要使用该函数,需要将如下的声明语句包含在你的窗体的通用声明部分中:
#IfWin32Then
DeclareFunctionGetCaretBlinkTimeLib"user32"()AsLong
#Else
DeclareFunctionGetCaretBlinkTimeLib"User"()AsInteger
#EndIf
该函数返回用毫秒值表示的时间。
样例程序
1.在VisualBasic中开始一个新的工程,采用缺省的方法建立Form1。
2.在Form1上添加一个定时器控件,采用缺省的方法建立Timer1。
3.将如下的代码添加到Form1的Form_GotFocus事件中:
PrivateSubForm_GotFocus()
Timer1.Enabled=False
EndSub
4.将如下的代码添加到Form1的Form_Load事件中:
PrivateSubForm_Load()
Timer1.Interval=GetCaretBlinkTime()
Form2.Show
EndSub
5.将如下的代码添加到Timer1的Timer1_Timer事件中:
PrivateSubTimer1_Timer()
Success=FlashWindow(Form1.hwnd,1)
EndSub
6.添加第二个窗体,采用缺省的方法建立Form2。
7.将如下的代码添加到Form2的单击事件中:
PrivateSubForm_Click()
Form1.Timer1.Enabled=True
EndSub
8.添加一个新的模块,采用缺省的方法建立Module1.Bas。将如下的代码添加到该模块的通用声明部分中:
#IfWin32Then
DeclareFunctionFlashWindowLib"user32"(_
ByValhwndAsLong,_
ByValbInvertAsLong)AsLong
DeclareFunctionGetCaretBlinkTimeLib"user32"()AsLong
DimSuccessAsLong
#Else
DeclareFunctionFlashWindowLib"User"(_
ByValhwndAsInteger,_
ByValbInvertAsInteger)AsInteger
DeclareFunctionGetCaretBlinkTimeLib"User"()AsInteger
DimSuccessAsInteger
#EndIf
通过单击F5键来运行该样例程序,单击Form2窗体,这时Form1窗体将处于非活动方式,其标题栏将会不断闪烁。单击Form1使它它变为活动方式,则窗体的标题栏将不再闪烁->
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:用VB6.0编写手机短信发送
- 利用VisualBasic实现木马攻击 2018-06-17
- VB中实现图像特技(2) 2018-06-17
- 如何用VB在窗体中实现闪烁文字 2018-06-17
- 用InStr函数实现代码减肥 2018-06-17
- 用VB实现实时曲线的绘制和保存 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash