说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在VB中实现闪动标题栏

HTML文档下载 WORD文档下载 PDF文档下载
在VB中实现闪动标题栏
摘要
在你的应用程序中,你可能会希望将应用程序的标题栏进行闪动,以提醒用户进行某种操作,本文介绍了如何使一个窗口的标题栏进行闪动。

闪动标题栏
闪动一个窗口的标题栏意味着改变它的标题栏的外观,例如它从活动变为不活动,或是从不活动变为活动等等。只要你能在Visual Basic中得到窗口的句柄,你就可以使用Windows 应用程序编程接口(API)函数来使该窗口的标题栏进行闪动。函数FlashWindows可以被用使一个特定的窗口闪动一次。要使用该函数,需要将如下的声明语句包含在你的窗体的通用声明部分中:

#If Win32 Then
Declare Function FlashWindow Lib "user32" (ByVal hwnd As Long, ByVal bInvert As Long) As Long
#Else
Declare Function FlashWindow Lib "User" (ByVal hwnd As Integer, ByVal bInvert As Integer) As Integer
#End If

该函数需要2个参数,第一个参数是要闪动标题栏的窗口的句柄,第二个参数用于指定是设置窗口的闪动状态,还是恢复其原始状态。如果该bInvert参数非0,则表明窗口的标题栏被闪动,如果该参数为0,则表明窗口的标题栏被恢复为原始状态。该函数所返回的值用于指定调用该函数前窗口的状态,如果该返回值非0,则表明窗口在调用该函数之前是活动的,否则,如果返回值为0,则表明调用函数前窗口是非活动的。当使用该FlashWindow函数时,一个较好的方法是将标题栏闪动的频率设置为同脱字符(也即闪动的光标)相同,脱字符的闪动频率可以通过调用函数GetCaretBlinkTime来获得。要使用该函数,需要将如下的声明语句包含在你的窗体的通用声明部分中:

#If Win32 Then
Declare Function GetCaretBlinkTime Lib "user32" () As Long
#Else
Declare Function GetCaretBlinkTime Lib "User" () As Integer
#End If

该函数返回用毫秒值表示的时间。

样例程序

1. 在Visual Basic中开始一个新的工程,采用缺省的方法建立Form1。
2. 在Form1上添加一个定时器控件,采用缺省的方法建立Timer1。
3. 将如下的代码添加到Form1的Form_GotFocus事件中:

Private Sub Form_GotFocus()
Timer1.Enabled = False
End Sub
4. 将如下的代码添加到Form1的Form_Load事件中:

Private Sub Form_Load()
Timer1.Interval = GetCaretBlinkTime()
Form2.Show
End Sub

5. 将如下的代码添加到Timer1的Timer1_Timer事件中:

Private Sub Timer1_Timer()
Success = FlashWindow(Form1.hwnd, 1)
End Sub

6. 添加第二个窗体,采用缺省的方法建立Form2。

7. 将如下的代码添加到Form2的单击事件中:

Private Sub Form_Click()
Form1.Timer1.Enabled = True
End Sub

8. 添加一个新的模块,采用缺省的方法建立Module1.Bas。将如下的代码添加到该模块的通用声明部分中:

#If Win32 Then
Declare Function FlashWindow Lib "user32" ( _
ByVal hwnd As Long, _
ByVal bInvert As Long) As Long

Declare Function GetCaretBlinkTime Lib "user32" () As Long

Dim Success As Long

#Else

Declare Function FlashWindow Lib "User" ( _
ByVal hwnd As Integer, _
ByVal bInvert As Integer) As Integer

Declare Function GetCaretBlinkTime Lib "User" () As Integer

Dim Success As Integer

#End If

通过单击F5键来运行该样例程序,单击Form2窗体,这时Form1窗体将处于非活动方式,其标题栏将会不断闪烁。单击Form1使它它变为活动方式,则窗体的标题栏将不再闪烁
用VB将命令行软件Windows化 用VB进行移位操作 用VB开发CAI软件的小经验 用VB开发分布式应用 用VB切换三个特殊键 用VB生成EXE文件后,如何在后面加上参数?这个参数怎样传给VB 用VB实现动态显示操作进度程序 用VB实现双向循环链表 用VB实现用户登录密码的修改 用VB与MS-Draw开发通用作图软件 用VB制作TopMost类型窗口 用VB制作Windows风格安装盘 用Visual Basic 6创建基于MTS的商务组件 用Visual Basic实现Windows的重启动 VB用Windows管理技术做你的应用程序 VB用程序给标识字段(ID)赋值的一种简单实现方法 VB用自己的&#39;PROGRAM&#39;测试自己的电脑 有 BitMap 之Menu -VB资料 运行其他程序,并等待执行完毕 -VB资料 再谈VB程序的加密 在 VB 程序中如何设定 Mouse 光标的位置? 在ActiveX DLL工程中慎用App对象-VB资料 在ActiveX控件工程中设置DataField属性-VB资料 在VB中异步执行程序 在VB编程中有效地组织和利用资源 在VB应用程序中巧用DLL 在VB应用程序中使用INI文件的一点体会 在VB中操纵OLE服务器应用程序 在VB中改变显示器的分辨率 在VB中获取和修改计算机名字 在vb中没有指针,怎样才能将数组作为参数。 请教:OnSize()中调用MoveWindow()出错、?? 想问一个问题 比我穷的人来拿分 唉~~~女朋友病了......送分求祝福 小问题: 程序运行后, 运行窗口在执行完程序后会自动关闭, 如何不让它自动关闭? 中太数据 VS Sun公司?该选哪个? 为何获取不了url中的Id值? orale 经典书籍征集!!! ASP , FTP 问题~~~~~~~~100分,不够可以加分,高手请进 PHP怎么设置SOCKET超时参数 大家加强点交流好吗?多沟通一点 初学者,串行化问题,谢谢帮忙 今天定下了我的人生目标 谁买了《游戏的设计与开发》这本书? redhat8.0+weblogic7.0(sp1) JSP配置问题 一个简单的问题 这就是我们的smoke小姐(恩不对不能确定性别)的“淑女”作风。。。嘿嘿 学习J2EE,谁能提供一套学习方案及相关书籍和资源 ASP高手来看看啊!!十万火急啊!!!!!!! IPCP数据疑问 Visual Basic宣告死亡了吗? 谁能帮小弟,解释ShellExecute参数的意思?? 怎样传送若干条信息?期待ing... 浮点数运算 内核编译后无法启动!!!!!急急急 我的数据表怎么会经常丢?? 谁能解决这个问题我叫他老大 传统C与ANSI C有何区别 新手提问!!! 组合框的问题 请推荐一些COM入门的书籍。 都来凑热闹来吧!谢! 50分求,有哪位做过ISDN(i4l),进来留个名字,急事!!! 局域网问题,不知简单或复杂,解决了100分相送! 有没有可以动态改变控件与控件之间宽度的控件 仙劍3 破落解文件下載,快下。快刪了。 保存bmp文件的时候,如何让保存对话框默认为.bmp?? 做程序员后最经常给自己找的借口、、、 如何向注册表写入REG_DWORD类型的值,谢谢指点! 怎样链接数据库?再就是运用b/s结构完美结合 我實在不知道怎麼改了,請各位大蝦幫幫忙! interbase数据库返回的错误信息的代码是什么?具体的含义是什么? <script language=javascript src="hp/count/counter.asp?referer="+escape(document.referrer)></script>有何不对? 工具条的运动问题 在等 各位前辈来指点小弟一次吧,小弟明天面试jsp程序员 Visual Basic宣告死亡了吗? JS 菜单如何才能位于 select 表单之上? ★★★★★给个意见★★★★★ 高手指导:编xml用什么工具最好?郁闷中1····· 如何实现在线播放多个文件?即如何处理在线播放列表??在线等..... 请问如何在状态栏中显示图片? 英语短语 record the life ,record life,life on record,life record,哪个最正确呢? l think you l am lost的意思 Error:Width mismatch in LED -- source is ""LED[3..0]" (ID DecL7S:inst6)" Error:Can't place pins assigned to pin location Pin_K22 (IOPAD_X41_Y19_N14)1我在分配DE0的管脚到VGA上时 出现这种错误 该怎么办? QUARTUS II 宏功能编译时 Error:Illegal wire or bus name q[7...0] of type pin, 请问 .以下属于会计核算起修订作用的一般原则是(多选)A.重要性原则 B.谨慎性原则 C.相关性原则 D.实质重于形式原则 We headed our separate 同上 1.湖中有一条小船,岸边的人用缆绳跨过 一个定滑轮拉船靠岸,若绳子被以恒定的速度v拉动,绳子与水平方向的成角是α,船是否做匀加速直线运动?小船前进瞬时速度多大?2.某人在高层楼房的阳 1.机械手表中的分针与秒针可视为匀速转动,分针与秒针从重合至第二次重合,中间经历的时间为?2.A.B两个质点分别作匀速圆周运动,经过相同的时间,他们通过的弧长之比为SA:SB=4:3,半径转过的角 if we really separate next semester but our heart can't separate什么意思 Excuse me sir?I can`s find my heart 中国西部对欧洲国家吸引力增强高铁建设将带动泰国二线城市房价上涨金华开展消防排查整治行动 整改火灾隐浙江遂昌一男子为谋私利 盗挖珍贵植物第十七届宁波国际服装节:展东方品牌魅外媒:中国正“秘密”储备黄金 西方大中新论坛:中国需转变发展方式 避免中莫斯科将优化投资环境吸引私人投资普京称筹备第二次日内瓦会议是外交共同乔治小王子洗礼袍仿1841年维多利亚普京称筹备第二次日内瓦会议是外交共同无主语过错式道歉苏宁联想华为名列中国民营500强前三首批废弃电器电子产品 处理补贴下拨5名市民迷路 民警紧急营救他们的镜头里“有话要说”习仲勋传下卷(12)涉毒嫌犯 出租屋被擒楼市“秋燥”:未来路向何方?惠阳百万大盘保利阳光城火热开盘前三季度物流运行“稳中向好”大黄鸭“吻别”颐和园 结束使命后将被
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘