如何用Shell_NotifyIcon Lib 实现类似qq那样的小图标闪烁的效果?

zoulinghao 2006-06-07 03:50:48
如题 可以实现吗? 或者有别的什么方法?
...全文
321 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovelihp 2006-06-16
  • 打赏
  • 举报
回复
支持楼上,2张图片不断变化
pb8 2006-06-15
  • 打赏
  • 举报
回复
1、把结构中的图标改变,传入NIM_MODIFY就可以了,NIM_MODIFY=1

shell_notifyicon ( NIM_MODIFY, lpData )

2、启动一个定时器,在timer事件里判断hicon的值,比如
if lpdata.hicon=图标1 then
lpdata.hicon=图标2
else
lpdata.hicon=图标1
end if
shell_notifyicon ( NIM_MODIFY, lpData )
kenshu 2006-06-07
  • 打赏
  • 举报
回复
这是我以前写的一段,可以改图标

入口参数是icon_id (可能为1,2,3)

//n_cst_notifyicon lnv_Notifyicon
//lnv_Notifyicon.of_modifyicon( icon_id, Handle(this))
this.il_command_type = icon_id

s_NOTIFYICONDATA lp
string s
long ll_Icon, ll_Null, ll_H

s = 'shupaste.dll'
if not fileexists(s) then
return false
end if

ll_H = LoadLibrary( S )
if ll_H<1 then
return false
end if

if ll_icon<1 then
ll_icon = 1
end if
ll_Icon = LoadIcon( ll_H, 2999 + icon_id)
FreeLibrary( ll_H )
//if ll_icon<1 then
// return false
//end if

//ii_icon = icon_id

lp.cbsize = 88
lp.hwnd = handle(this)
lp.uid = 1
lp.uflags = 7
lp.ucallbackmessage = 1025
lp.hicon = ll_icon
//lp.sztip = left(this.title,63)
choose case icon_id
case 1
lp.sztip = '当前粘贴板包含多媒体信息'
case 2
lp.sztip = '不能取到粘贴板信息'
case 3
lp.sztip = '当前粘贴板仅包含文本信息'
end choose
Shell_NotifyIcon(1, lp)
return true

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧