工控编程吧
标题:
38上位机VC MFC实现窗口闪烁效果
[打印本页]
作者:
qq263946146
时间:
2015-11-27 22:47
标题:
38上位机VC MFC实现窗口闪烁效果
(, 下载次数: 0)
上传
点击文件名下载附件
38上位机VC MFC实现窗口闪烁效果
功能展示
有时我们开发的上位机程序在出现故障需要提醒用户人工处理时,我们可以将我们程序标题栏不断闪烁,以引起用户的注意,直到用户点击程序。如何实现这一功能呢?我们当前就来实现这一闪烁功能,效果如图
要点提示
要实现窗体的闪烁,我们有两方法可以实现FlashWindow()和FlashWindowEx() BOOL FlashWindow(HWNDhWnd, // handle to window to flash BOOL bInvert // flash status ); BOOL FlashWindowEx( PFLASHWINFO pfwi ); 第二种方法我们当前用的SDK版本不够就不演示了,我们用FlashWindow()方法配合定时器来实现窗口标题栏的闪烁;当引起用户注意,用户鼠标移动到我们程序上时我们停止闪烁;
实现功能
1.新建基于对话框的应用程序
2.添加一变量标识是否在闪烁BOOL m_bNoticing;对话框OnInitDialog()中初始化m_bNoticing= TRUE; SetTimer(1,500,NULL);
3.添加定时器处理函数,在里面完成闪烁
void CGkbc8Dlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if(1 == nIDEvent)
{
FlashWindow(TRUE);
}
CDialog::OnTimer(nIDEvent);
}
复制代码
4.添加OnMouseMove()当用户鼠标移动来操作程序时进行停止闪烁
void CGkbc8Dlg::OnMouseMove(UINT nFlags, CPoint point)
{
if(m_bNoticing)
{
KillTimer(1);
m_bNoticing = FALSE;
}
CDialog::OnMouseMove(nFlags, point);
}
复制代码
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/cbccee0d112d24911fed7c75195554c7/0/0/w_19rtac5031.swf-albumId=4944393409-tvId=4944393409-isPurchase=0-cnId=12[/iqiyi]
源码及视频下载
(仅在电脑可见)
(, 下载次数: 1)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4