如题

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/2325/2325078.xml?temp=.4265406
      

  2.   

    搞一定时器给它定时换个 ICON 不就得了
      

  3.   

    关键是它的trayicon属性不可赋值,我也知道是图片的互换问题,还有什么办法没有?各位老大~~
      

  4.   

    啊????不是窗体啊,是SysTray.ocx=***.picture ???还是。
    楼上的,代码,关键部分即可,谢谢,呵呵
      

  5.   

    cSysTray1.TrayIcon = Image1(1).Picture 
    这句话错误,说是对象不支持该对象的方法和属性,我该如何??
      

  6.   

    http://expert.csdn.net/Expert/topic/2387/2387209.xml?temp=.5923273
      

  7.   

    http://expert.csdn.net/Expert/topic/2489/2489168.xml?temp=.8621637可以不用控件,比较方便
      

  8.   

    不用控件,用api,我已经作出来了,但是感觉控件比较好一些,呵呵
      

  9.   

    还有,网不通的时候会看到托盘的提示信息,不用将鼠标悬浮就能看到,大家看看是怎么回事改天学习.net 唉~~
      

  10.   

    Option ExplicitPrivate Type NOTIFYICONDATA
        cbSize As Long
        hWnd As Long
        uId As Long
        uFlags As Long
        ucallbackMessage As Long
        hIcon As Long
        szTip As String * 64
    End TypePrivate Const WM_LBUTTONDOWN = &H201
    Private Const WM_LBUTTONDBLCLK = &H203
    Private Const WM_RBUTTONUP = &H205
    Private Const NIM_ADD = &H0
    Private Const NIM_MODIFY = &H1
    Private Const NIF_MESSAGE = &H1
    Private Const NIM_DELETE = &H2
    Private Const NIF_ICON = &H2
    Private Const NIF_TIP = &H4
    Private Const WM_MOUSEMOVE = &H200Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
    Private Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As LongDim TrayIcon As NOTIFYICONDATA, bolFlag As BooleanPrivate Sub Form_Load()
        TrayIcon.cbSize = Len(TrayIcon)
        TrayIcon.hWnd = hWnd
        TrayIcon.uId = vbNull
        TrayIcon.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
        TrayIcon.ucallbackMessage = WM_MOUSEMOVE
        TrayIcon.hIcon = Me.Icon
        TrayIcon.szTip = "拖盘" & Chr(0)
        
        '在系统栏添加拖盘
        Call Shell_NotifyIcon(NIM_ADD, TrayIcon)
    End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        '构造系统拖盘结构
        TrayIcon.cbSize = Len(TrayIcon)
        TrayIcon.hWnd = Me.hWnd
        TrayIcon.uId = vbNull
        
        '删除系统栏的拖盘
        Call Shell_NotifyIcon(NIM_DELETE, TrayIcon)
    End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    On Error Resume Next
        Dim Message As Long
        
        Message = X / Screen.TwipsPerPixelX    '判断鼠标消息,执行不同的功能
        Select Case Message
          Case WM_LBUTTONDOWN
              '点击拖盘
          Case WM_RBUTTONUP
              SetForegroundWindow Me.hWnd
              '按右键弹出菜单
              'PopupMenu mnuPopup
        End Select
    End SubPrivate Sub Timer1_Timer()
        bolFlag = Not bolFlag
        
        TrayIcon.cbSize = Len(TrayIcon)
        TrayIcon.hWnd = hWnd
        TrayIcon.uId = vbNull
        TrayIcon.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
        TrayIcon.ucallbackMessage = WM_MOUSEMOVE
        TrayIcon.hIcon = IIf(bolFlag, Me.Icon, Picture1.Picture)
        TrayIcon.szTip = "拖盘" & Chr(0)
        
        '在系统栏添加拖盘
        Call Shell_NotifyIcon(NIM_MODIFY, TrayIcon)
    End Sub