夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
          Option Explicit

          Public Const MAX_TOOLTIP As Integer = 64
          Public Const NIF_ICON = &H2
          Public Const NIF_MESSAGE = &H1
          Public Const NIF_TIP = &H4
          Public Const NIM_ADD = &H0
          Public Const NIM_MODIFY = &H1
          Public Const NIM_DELETE = &H2
          Public Const WM_MOUSEMOVE = &H200
          Public Const WM_LBUTTONDOWN = &H201
          Public Const WM_LBUTTONUP = &H202
          Public Const WM_LBUTTONDBLCLK = &H203
          Public Const WM_RBUTTONDOWN = &H204
          Public Const WM_RBUTTONUP = &H205
          Public Const WM_RBUTTONDBLCLK = &H206

          Public Const SW_RESTORE = 9
          Public Const SW_HIDE = 0

          Public nfIconData As NOTIFYICONDATA


          Public Type NOTIFYICONDATA
          cbSize 
          As Long
          hWnd 
          As Long
          uID 
          As Long
          uFlags 
          As Long
          uCallbackMessage 
          As Long
          hIcon 
          As Long
          szTip 
          As String * MAX_TOOLTIP
          End Type

          Public Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As LongAs Long
          Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long


          Private Sub Form_Load()
              
          If App.PrevInstance Then
                   
          End ' 退出新運行的程序
              End If
              Me.Caption 
          = "我的第一個程序"
              
          '以下把程序放入System Tray====================================System Tray Begin
          With nfIconData
          .hWnd 
          = Me.hWnd
          .uID 
          = Me.Icon
          .uFlags 
          = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
          .uCallbackMessage 
          = WM_MOUSEMOVE
          .hIcon 
          = Me.Icon.Handle
          '定義鼠標移動到托盤上時顯示的Tip
          .szTip = App.Title + "(版本 " & App.Major & "." & App.Minor & "." & App.Revision & ")" & vbNullChar
          .cbSize 
          = Len(nfIconData)
          End With
          Call Shell_NotifyIcon(NIM_ADD, nfIconData)
          '=============================================================System Tray End
          Me.Show
          End Sub

          Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
          Dim lMsg As Single
          lMsg 
          = X / Screen.TwipsPerPixelX
          Select Case lMsg
          Case WM_LBUTTONUP
          'MsgBox "請用鼠標右鍵點擊圖標!", vbInformation, "實時播音專家"
          '
          單擊左鍵,顯示窗體
          Timer1.Enabled = False
          Call ShowWindow(Me.hWnd, SW_RESTORE)

          '下面兩句的目的是把窗口顯示在窗口最頂層
          Me.Show
          Me.SetFocus
          '' Case WM_RBUTTONUP
          '
          '   PopupMenu MenuTray '如果是在系統Tray圖標上點右鍵,則彈出菜單MenuTray
          '
          ' Case WM_MOUSEMOVE
          '
          ' Case WM_LBUTTONDOWN
          '
          ' Case WM_LBUTTONDBLCLK
          '
          ' Case WM_RBUTTONDOWN
          '
          ' Case WM_RBUTTONDBLCLK
          '
          ' Case Else
          End Select
          End Sub

          Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
              
          Call Shell_NotifyIcon(NIM_DELETE, nfIconData)
          End Sub

          Private Sub Form_Resize()
              
          If Me.WindowState = 1 Then
                  Me.Hide
              
          End If
          End Sub

          Private Sub leftBtn_Click()
              Static b1 
          As Boolean     '定義一個布爾型變量用于開關作用
              b1 = Not b1
              Timer1.Enabled 
          = b1     '用Timer1來控制圖標的閃爍
              If Not b1 Then
                  leftBtn.Caption 
          = "開始"
              
          Else
                  leftBtn.Caption 
          = "停止"
              
          End If
          End Sub

          Private Sub rightBtn_Click()
              infoLabel.Caption 
          = "右邊按鈕"
          End Sub

          Private Sub Timer1_Timer()
            Static b2 
          As Boolean   ' 定義一個布爾型變量用于開關作用,當為True時托盤圖標為Picture2圖片,為False時為Picture1的圖片
            b2 = Not b2
            
          If b2 Then
                  nfIconData.hIcon 
          = Image1.Picture     '托盤圖標為Picture2的圖片
                   infoLabel.Caption = "b"
            
          Else
                  nfIconData.hIcon 
          = Image2.Picture       '托盤圖標為Picture1的圖片
                  infoLabel.Caption = "a"
            
          End If
             
          Call Shell_NotifyIcon(NIM_MODIFY, nfIconData)     '修改托盤圖標


          End Sub
          posted on 2013-08-01 11:21 HUIKK 閱讀(358) 評論(0)  編輯  收藏 所屬分類: VB/VBA/VBS

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 西昌市| 淳安县| 石台县| 饶河县| 赣榆县| 绥化市| 平山县| 永仁县| 邵阳市| 乐山市| 阿克苏市| 兴隆县| 呼玛县| 五台县| 淮滨县| 札达县| 左贡县| 区。| 永靖县| 都安| 三穗县| 长垣县| 南溪县| 定日县| 东宁县| 盐池县| 德保县| 四子王旗| 乌鲁木齐县| 盐津县| 寿阳县| 白银市| 郓城县| 澎湖县| 芦溪县| 花垣县| 和政县| 阿拉尔市| 乌海市| 互助| 城步|