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] 下一页 没有相关教程
|