以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 C/C++编程思想 』 (http://bbs.xml.org.cn/list.asp?boardid=61) ---- 闪烁程序的标题栏 (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=37083) |
-- 作者:卷积内核 -- 发布时间:8/22/2006 1:35:00 PM -- 闪烁程序的标题栏 在某些专业的应用程序中,当程序需要提醒用户或要引起用户的注意时,就不停地闪烁程序的标题栏。要实现这个功能,只需要一个Timer组件和使用一个API函数--FlashWindow。 使用API函数FlashWindow可以闪烁显示指定窗口,让窗口在活动与非活动的状态之间切换,它有两个参数:hwnd和bInvert,头文件为“winuser.h”。其中,参数hwnd为要闪烁的窗口句柄,参数bInvert是一个bool变量,设为true时,程序窗口标题栏从活动切换到非活动状态、或反向切换,当设为false时,窗口标题栏还原为最初的状态。如果配合一个时间组件(Timer组件),以一定的时间间隔执行语句: FlashWindow(Form1->Handle,true); 程序窗口的标题栏就在活动、非活动的状态之间不停地切换。若把hwnd指定成为应用程序的句柄(Application->Handel),将会闪烁程序在任务栏上的标题栏。 下面就让我们来做一个闪烁窗口标题栏和任务栏上标题栏的程序。 首先,在Form1中添加三个按钮Button1、Button2和Button3,把它们的属性分别为“闪烁窗口标题栏”、“闪烁任务标题栏”和“停止闪烁”,再加入两个时间组件Timer1和Timer2,将两个Timer组件的Enabled属性都设为false,将Interval属性都设为为500(即半秒),改变这个属性的值可以修改闪烁的频率。 然后,双击Timer1,在OnTimer事件中加入: FlashWindow(Form1->Handle,true); 双击Timer2,在OnTimer事件中加入: FlashWindow(Application->Handel,true); 双击Button1,在Button1的OnClick事件中加入: Timer1->Enabled=true; 双击Button2,在Button2的OnClick事件中加入: Timer2->Enabled=true; 最后,双击Button3,在Button3的OnClick事件中加入: Timer1->Enabled=false; Timer2->Enabled=false; FlashWindow(Form1->Handle,false); FlashWindow(Application->Handel,false); 这样,一个简单的例子就完成了。按F9编译运行程序,你就可闪烁窗口标题栏或是闪烁任务栏上的标题栏了。 |
-- 作者:四个冬季 -- 发布时间:8/27/2006 5:45:00 PM -- 不知道是在哪个编程软件下的啊? |
-- 作者:卷积内核 -- 发布时间:8/28/2006 8:11:00 AM -- 上面源码是VB下的,VC里也有FlashWindow函数,这是个API,很容易改为VC的。这里最主要的是提供一种编程思想。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |