在VB中实现闪动标题栏

2016-02-19 20:15 43 1 收藏

今天图老师小编给大家展示的是在VB中实现闪动标题栏,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - 编程语言 】

摘要
  在你的应用程序中,你可能会希望将应用程序的标题栏进行闪动,以提醒用户进行某种操作,本文介绍了如何使一个窗口的标题栏进行闪动。
  
  闪动标题栏
  闪动一个窗口的标题栏意味着改变它的标题栏的外观,例如它从活动变为不活动,或是从不活动变为活动等等。只要你能在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使它它变为活动方式,则窗体的标题栏将不再闪烁->

来源:http://www.tulaoshi.com/n/20160219/1623141.html

延伸阅读
标签: 浏览器
360浏览器怎么设置在标题栏显示网页标题   1、打开360浏览器 2、点击右上方的工具 3、然后点击最下方的选项进入 4、选择高级设置 5、找到在标题页显示网页标题并勾选 6、这样您的360浏览器标题栏就会显示网页标题了
一、隐藏标题栏 代码如下:         //隐藏标题栏        this.requestWindowFeature(Window.FEATURE_NO_TITLE); 二、隐藏状态栏 代码如下:         //隐藏状态栏        this.getWindow()....
标签: 电脑入门
QQ空间标题栏没有直接取消的功能。如果您不想显示默认的标题栏样式,建议您用QQ空间装扮进行装饰,同时我们提供了一款免费透明的标题栏给大家体验,详细操作如下: 第一步:请您登录到QQ空间,点击工具栏上的装扮; 第二步:点击装扮之后页面会出现装扮设置然后点击 标题栏设置,根据提示操作即可。
很多人都在问怎么更改java应用程序标题栏默认图标,如果你用过Toolkit类,这将是一件很简单的事情: Toolkit tk=Toolkit.getDefaultToolkit() Image image=tk.createImage("image.gif"); /*image.gif是你的图标*/ this.setIconImage(image); 就这么简单,看看,已经变成你自己的图标了。Toolkit是个很有用类...
在VB中可以通过设置Form的属性,制作无系统标题栏的窗口。可是,由于失去了系统标题栏,如何使用鼠标拖动窗口便成了一个棘手的问题。其实,借助API函数ReleaseCapture和SendMessage,这个问题便可迎刃而解了。 首先,在module文件中加入下列声明语句: Declare Sub ReleaseCapture Lib"User"() Declare Func...

经验教程

329

收藏

56
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部