zoukankan      html  css  js  c++  java
  • FlashWindow和FlashWindowEx

    为了通知用户某种错误发生了,很多应用程序一般使用MessageBeep函数发出蜂鸣声,或者调用函数FlashWindow或FlashWindowEx来使特定的窗口闪烁。应用程序也能使用这些函数来引起用户对某个事件关注,然后显示一个消息提示对话框或一条详细错误信息。

    1)FlashWindow函数用来使某个指定的窗口产生一次闪烁的效果,它同样不会改变窗口的活动状态(如果要使窗口闪烁指定的次数,则需要使用下面介绍的FlashWindowEx函数):

    BOOL WINAPI FlashWindow(

    __in HWND hWnd, //要闪烁的窗口的句柄,该窗口可以是打开的或最小化的

    __in BOOL bInvert //为TRUE,表示窗口从一个状态闪烁到另一个状态;

    //为FALSE,表示窗口恢复到初始状态(可能是激活的也可能是非激活的)

    );

    返回值表示调用FlashWindow函数之前窗口的活动状态,若指定窗口在调用函数之前是激活的,那么返回非零值,否则返回零值。

    FlashWindow函数只能闪烁一次,如果要使用该函数闪烁多次时,应用程序需要增加一个系统定时器。

    2)FlashWindowEx函数用来使某个特定的窗口产生闪烁的效果,但它并不改变该窗口的活动状态:

    BOOL WINAPI FlashWindowEx(

    __in PFLASHWINFO pfwi //指向FLASHWINFO结构的指针

    );

    返回值表示调用FlashWindowEx函数之前窗口的活动状态,若指定窗口在调用函数之前是激活的,那么返回非零值,否则返回零值。

    典型情况下,我们使一个窗口闪烁是为了告诉用户这个窗口需要关注这个窗口,但该窗口暂时没有获得键盘焦点。当一个窗口闪烁时,它表现出来的状态就像从激活状态到非激活状态之间往返循环。

    FLASHWINFO结构包含了特定窗口的闪烁状态,以及系统要闪烁窗口的次数:

    typedef struct {

    UINT cbSize; //该结构的字节大小

    HWND hwnd; //要闪烁的窗口的句柄,该窗口可以是打开的或最小化的

    DWORD dwFlags; //闪烁的状态,可以是下面取值之一或组合:

    //FLASHW_ALL---同时闪烁窗口标题和窗口的任务栏按钮,

    // 相当于FALSHW_CAPTION | FLASHW_TRAY

    //FLASHW_CAPTION---闪烁窗口的标题

    //FLASHW_STOP---停止闪烁,系统将重置窗口到其初始状态

    //FLASHW_TIMER---不停地闪烁,直到FLASHW_STOP标志被设置

    //FLASHW_TIMERNOFG---不停地闪烁,直到窗口前端显示

    //FLASHW_TRAY---闪烁窗口的任务栏按钮

    UINT uCount; //闪烁窗口的次数

    DWORD dwTimeout; //窗口闪烁的频度,毫秒为单位;若该值为0,则为默认图标的闪烁频度

    } FLASHWINFO, *PFLASHWINFO;

    3)附:以下函数都可用于错误处理的:

    image

  • 相关阅读:
    还记得那种 喜欢到不行的感觉么?
    从点到面,再从面到点
    草珊瑚的常见移动网站布局
    草珊瑚的CSS基础
    表驱动编程
    如果一切需要重学,2014年应该学哪些技术?
    揭开Makefile的神秘面纱
    VIM资源
    VIM跳转技巧
    前女友究竟是一种怎样的存在?
  • 原文地址:https://www.cnblogs.com/jx270/p/2917895.html
Copyright © 2011-2022 走看看