像QQ一样,一有消息,系统托盘区一闪一闪的,如何做的?

alinker 2002-02-06 10:47:52
像QQ一样,一有消息,系统托盘区一闪一闪的,如何做的?我只知静态图标的...
...全文
139 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
redlegend_126_com 2002-02-17
  • 打赏
  • 举报
回复
用timer控件中的事件

就可以了!随时改变ddd中的图标句柄然后
shell_notifyicon(nim_modify,@ddd);
行了,给分吧
dominiczhong 2002-02-17
  • 打赏
  • 举报
回复
我有,发给你
Chice_wxg 2002-02-16
  • 打赏
  • 举报
回复
我封装好的代码,绝对好用!
而且支持停靠。
注意:tmrMousePos的触发属性设置为1。反正能小就小,呵呵

Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long




Dim MousePos As POINTAPI
Const FLAT_TOP = 1
Const FLAT_BOTTOM = 2
Const FLAT_LEFT = 4
Const FLAT_RIGHT = 8
Dim FlatFlag As Integer

Public Function PtInRect(r As RECT, pt As POINTAPI) As Boolean
If r.Left <= pt.X And pt.X <= r.Right And r.Top <= pt.Y And pt.Y < r.Bottom Then PtInRect = True Else PtInRect = False
End Function

Public Sub CursorPosTimer()
Dim r As RECT
Dim lRight As Long
Dim ir As Boolean
GetWindowRect Me.hwnd, r

ir = PtInRect(r, MousePos)
If (FlatFlag And FLAT_LEFT) = FLAT_LEFT Then
If MousePos.X <= 2 And ir Then
Me.Left = 0
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
Else
If Me.Left = 0 And Not ir Then
Me.Left = -Me.Width + 2 * Screen.TwipsPerPixelX
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
End If
End If
End If
lRight = Screen.Width / Screen.TwipsPerPixelX - Me.Width / Screen.TwipsPerPixelX
If (FlatFlag And FLAT_RIGHT) = FLAT_RIGHT Then
If MousePos.X >= lRight - 2 And ir Then
Me.Left = lRight * Screen.TwipsPerPixelX
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
Else
If Me.Left = lRight * Screen.TwipsPerPixelX And Not ir Then
Me.Left = Screen.Width - 2 * Screen.TwipsPerPixelX
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
End If
End If
End If

If (FlatFlag And FLAT_TOP) = FLAT_TOP Then
If MousePos.Y <= 2 And ir Then
Me.Top = 0
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
Else
If Me.Top = 0 And Not ir Then
Me.Top = -Me.Height + 2 * Screen.TwipsPerPixelY
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
End If
End If
End If

End Sub

Private Sub tmrMousePos_Timer()
GetCursorPos MousePos
CursorPosTimer
End Sub
visualbaby 2002-02-15
  • 打赏
  • 举报
回复
是这样实现的吗,我怎么觉得这样太简单了吧
wgku 2002-02-15
  • 打赏
  • 举报
回复
提个思路吧
当MOUSE指向窗体时,它自动将高度height 变为正常的,当MOUSE离开窗体是再将
高度height 变成一个很小的值,我想不能是0
bluesky35 2002-02-15
  • 打赏
  • 举报
回复
先做个系统托盘,然后再使用定时器实现每秒闪动。
shuwork 2002-02-15
  • 打赏
  • 举报
回复
QQ窗体的收缩隐藏:
timer控件捕捉 MouseExit 事件
'声明
Public Declare Function GetCursorPos Lib "user32" (lpPoint As _pointapi) As Long
Type pointapi
x As Long
y As Long
End Type
'过程
Private Sub Timer1_Timer()
Dim a As Long
a = GetCursorPos(mouse)
If (mouse.x > frmMain.ScaleWidth) Or (mouse.y > _frmMain.ScaleHeight ) Then
frmMain.Top = (0 - frmMain.Height) + 100
End If
If mouse.y < 30 Then
frmMain.Top = 10 '理论上为0

End If
End Sub
注意:form1.scalemode设置为2
chenhuo 2002-02-10
  • 打赏
  • 举报
回复
很简单,系统托盘区一闪一闪的你可以看成是两个动作,即系统托盘区的图标是一只小企鹅,再变成系统托盘区的图标是整个都是灰色的(与系统托盘区的背景色相同)。实现方法:先在窗体上建一个ImageList控件,然后添加刚刚提到的两个图标,用Timer控制每秒两个交换一下就行了。
810303 2002-02-10
  • 打赏
  • 举报
回复
使用timer控件
skydg 2002-02-10
  • 打赏
  • 举报
回复
使用控件
shawls 2002-02-10
  • 打赏
  • 举报
回复

其实就是不断地更换图标

特简单
asciiman 2002-02-10
  • 打赏
  • 举报
回复
Timer
sonicdater 2002-02-09
  • 打赏
  • 举报
回复
1 像QQ一样,一有消息,系统托盘区一闪一闪的,如何做的?
2 QQ窗体的收缩隐藏是如何做到
都可用 Timer 控件.
alinker 2002-02-09
  • 打赏
  • 举报
回复
还有,QQ窗体的收缩隐藏是如何做到!
徐蕤 2002-02-06
  • 打赏
  • 举报
回复
可不可以用GIF图像啊,呵呵
feihong0233 2002-02-06
  • 打赏
  • 举报
回复
用timer隔一段時間換一個圖標.
tonton 2002-02-06
  • 打赏
  • 举报
回复
只要动态改变托盘图标就可以了。
比如你用VB光盘里的SYSTRAY控件的话可以这样子

Set cTray.TrayIcon=Image1.Picture

可以用Timer控件来控制
gmc007 2002-02-06
  • 打赏
  • 举报
回复
关注
宽带QQ批量自动登陆器是一款比较人性化、自动化、实用化全能的控制登陆器,能控制任务是否显示与关闭,主程序关闭也不用担心,可以继续打开主程序控制在线的任务。目前支持强大的宽带自动拨号、QQ号批量快捷自动登陆、程序自动登陆,支持密码控制,老板键控制,执行任务控制等全操作。   强大的宽带自动拨号 拨号如此的简单快捷  家庭用户如果是拨号用户使用此功能就更加快捷,不用担心忘记帐号密码,重装系统也能自动创建快捷的拨号上网,不需要繁琐的去设置与等待。 QQ号批量快捷自动登陆无忧 真是一键全上 支持最新QQ系列自动登陆功能,新版本的QQ无需密码快捷登陆,省去繁琐的登陆时间和等待,完全是批量一同上。 安全保障不用担心泄密 安全第一 所有任务经过三层加密技术,完全不用担心您的执行任务泄露。 控制更加完善 简单操作快速 使用自动化处理,可按CTRL 方向键上下移动位置,无鼠标也能操作。 老板键也更加诱惑 一闪全没了 支持一键控制全隐藏,可对所有执行的任务,包括托盘一起隐藏。而且还支持一键全关闭,连玩着的游戏也能隐藏。   运行一目了然 任务同步显示状态 显示最后启动时间,包含显示运行状态,主程序不小心关闭了也不用担心隐藏后的程序无法控制,只要再打开主程序即可继续控制执行的任务。 多功能设置 精彩全新设置 支持启动时间完成任务后控制,托盘提示控制等信息;快捷键设置更人性化。 个性密码设置 我的东西请勿动 一键盘设置密码功能,防止别人碰您的任务,加强程序控制操作,隐藏你的程序。 动态更新 同步更快捷 能最快得到最新的程序,一键就可获取。 宽带QQ批量自动登陆器 v4.5更新: 添加QQ2013登陆的功能; 修复无法登陆QQ邮箱问题; 完善QQ在线挂机功能; 修复启动时错误登陆;

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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