摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>VB>VB窗体文章
◎→ 本类最新
VB6制作Win98风格的工具栏
动态加载ActiveX控件漫谈
实现窗口图像缩放、滚动技巧
VB中处理长列表框项的两种方法
VB应用程序中的工具提示和状态显
VB实现窗口的弹出式菜单
VB实现按钮浮动效果
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
VB基础视频教程
VB窗体文章
VB文件文章
VB数据库文章
VB-API文章
VB控制文章
◎→ 热门资源
制作方向按钮
制作半透明窗体和形状不规则的窗
制造出透明的Form
怎样得到文本框(TextBox)中的文
暂时禁止窗口更新
在最小化状态时提供提示
在运行时动态生成多个相同的控件

在VB中实现闪动标题栏


日期:2008-10-20 17:45:15    来源:互联网
   
 ·在VB中制作透明按钮 ·在VB中实现位图的透明放置
 ·闪动窗口标题 ·拖动无标题栏窗体的方法

在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使它它变为活动方式,则窗体的标题栏将不再闪烁 
 [1]

在VB中制作单独程序封面的两种方法

API实现完美的图片出现效果

闪动窗口标题

不用标题栏也移动窗体的小技巧

--->SpeeDefrag V5.01┊小巧免费的磁盘碎片整理、之后可实现自动关机┊汉化特别版
--->汉字编码转换器 V1.00┊实现文字简繁互转、GBK-BIG5转换┊简体中文绿色免费版
--->AutoIt 3.2.5.0┊是以模拟PC鼠标移动和窗口来实现自动化任务┊汉化绿色特别版
--->AutoIt 3.2.5.0┊是以模拟PC鼠标移动和窗口来实现自动化任务┊汉化绿色特别版
--->Picture Window Pro V4.0.1.8┊实现Photoshop的所有常规功能┊英文绿色特别版
Tags:  VB中 实现 闪动 标题栏

芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们