打印本文 打印本文 关闭窗口 关闭窗口
Windows通知栏图标高级编程概述
作者:武汉SEO闵涛  文章来源:敏韬网  点击数4066  更新时间:2009/4/23 18:34:16  文章录入:mintao  责任编辑:mintao
NIIF_INFO:“信息”图标

NIIF_NONE:不显示图标

NIIF_WARNING:“警告”图标

NIIF_ICON_MASK:保留值

NIIF_NOSOUND:不播放音效

end;

 

 

以下代码演示了在Delphi中如何实现气泡提示。

//{-------------------常数声明----------------------

Const

  NIIF_NONE        = $00000000;

  NIIF_INFO         = $00000001;

  NIIF_WARNING      = $00000002;

  NIIF_ERROR            = $00000003;

//--------------------------------------------------------------------------}

 

//{------------------类型声明--------------------

Type

  TBalloonTimeout = 10..30;         //气泡提示持续时间,单位为秒

 

  TBalloonIconType = (                 //气泡提示信息图标控制

    bitNone,                        //不显示图标

    bitInfo,                            //“信息”图标(蓝色)

    bitWarning,                         //“警告”图标(黄色)

    bitError);                      //“错误”图标(红色)

……

end;

//-----------------------------------------------}

 

//{---------填写公共结构----------------------------

procedure TEoCSysTray.FillDataStructure;

begin

  with FIconData do

  begin

    cbSize := SizeOf(TNotifyIconData50);

    wnd := FWindowHandle;

    uID := 0;                    

    uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;

//uCallbackMessage、hIcon、szTip三个字段有效

    hIcon := FIcon.Handle;

    StrPCopy(szTip, FHint);

    uCallbackMessage := WM_SYSTRAY;

  end;

end; //end of procedure FillDataStructure

//--------------------------------------------------}

 

//{---------显示气泡提示信息----------------------

function TEoCSysTray.Balloon(Title, Text: string;

  IconType: TBalloonIconType; Timeout: TBalloonTimeout): Boolean;

const

  aBalloonIconTypes : array[TBalloonIconType] of Byte =

    (NIIF_NONE, NIIF_INFO, NIIF_WARNING, NIIF_ERROR);

begin

  if fActive then                          //若通知栏图标处于显示状态

  begin                                 //删除原先的气泡提示

    FillDataStructure;

    with FIconData do

    begin

      uFlags := uFlags or NIF_INFO;     //设置与气泡提示相关的字段有效

      StrPCopy(szInfo, '''''''');                 //设置提示信息为空,删除气泡提示

    end;

    Shell_NotifyIcon(NIM_MODIFY, @FIconData);

 

//以下显示新的气泡提示

    FillDataStructure;

    with FIconData do

    begin

      uFlags := uFlags or NIF_INFO;

      StrPCopy(szInfo, Text);

      uTimeout := Timeout;

   &nb

上一页  [1] [2] [3] [4] [5]  下一页

打印本文 打印本文 关闭窗口 关闭窗口