home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 7_2009-2012.ISO / data / zips / SystemTray2194101262010.psc / SystemTrayClass / Forms / frmSystemTray.frm
Text File  |  2010-12-06  |  4KB  |  189 lines

  1. VERSION 5.00
  2. Begin VB.Form frmSystemTray 
  3.    Caption         =   "SystemTray Demo"
  4.    ClientHeight    =   2664
  5.    ClientLeft      =   132
  6.    ClientTop       =   516
  7.    ClientWidth     =   3744
  8.    LinkTopic       =   "Form1"
  9.    MaxButton       =   0   'False
  10.    ScaleHeight     =   2664
  11.    ScaleWidth      =   3744
  12.    StartUpPosition =   3  'Windows Default
  13.    Begin VB.CheckBox chkSystemMenu 
  14.       Caption         =   "&Use SystemMenu"
  15.       Height          =   312
  16.       Left            =   360
  17.       TabIndex        =   2
  18.       Top             =   120
  19.       Value           =   1  'Checked
  20.       Width           =   2892
  21.    End
  22.    Begin VB.Timer Timer1 
  23.       Enabled         =   0   'False
  24.       Interval        =   200
  25.       Left            =   3360
  26.       Top             =   2280
  27.    End
  28.    Begin VB.CommandButton cmdStop 
  29.       Caption         =   "&Stop"
  30.       Height          =   372
  31.       Left            =   1320
  32.       TabIndex        =   1
  33.       Top             =   2160
  34.       Width           =   972
  35.    End
  36.    Begin VB.TextBox txtDemo 
  37.       Height          =   1332
  38.       Left            =   360
  39.       TabIndex        =   0
  40.       Text            =   "Press the minimize button!"
  41.       Top             =   600
  42.       Width           =   2892
  43.    End
  44.    Begin VB.Menu mnuMenu 
  45.       Caption         =   "File"
  46.       Visible         =   0   'False
  47.       Begin VB.Menu mnuFile 
  48.          Caption         =   "Open"
  49.          Index           =   0
  50.       End
  51.       Begin VB.Menu mnuFile 
  52.          Caption         =   "Close"
  53.          Index           =   1
  54.       End
  55.    End
  56. End
  57. Attribute VB_Name = "frmSystemTray"
  58. Attribute VB_GlobalNameSpace = False
  59. Attribute VB_Creatable = False
  60. Attribute VB_PredeclaredId = True
  61. Attribute VB_Exposed = False
  62. 'SystemTray Form (Demo for the SystemTray Class)
  63. '
  64. 'Author Ben Vonk
  65. '23-09-2010 First version
  66. '27-09-2010 Second version Add Balloon events
  67. '02-10-2010 Third version Add Balloon timer and fixed some bugs
  68. '06-11-2010 Fourth version fixed some bugs
  69. '09-11-2010 Fifth version Add hWnd function and make some changes
  70. '06-12-2010 Sixth version Add ReceivedData event
  71.  
  72. Option Explicit
  73.  
  74. ' Private Class with Events
  75. Private WithEvents SystemTray As clsSystemTray
  76. Attribute SystemTray.VB_VarHelpID = -1
  77.  
  78. ' Private Variable
  79. Private BalloonIsShowed       As Boolean
  80.  
  81. ' Private API
  82. Private Declare Function SetForegroundWindow Lib "User32" (ByVal hWnd As Long) As Long
  83.  
  84. Private Sub cmdStop_Click()
  85.  
  86.    Unload Me
  87.  
  88. End Sub
  89.  
  90. Private Sub Form_Resize()
  91.  
  92.    If WindowState = vbNormal Then
  93.       If Not SystemTray Is Nothing Then
  94.          Call SystemTray.DeleteIcon
  95.          
  96.          Set SystemTray = Nothing
  97.       End If
  98.       
  99.    ElseIf WindowState = vbMinimized Then
  100.       Set SystemTray = New clsSystemTray
  101.       
  102.       With SystemTray
  103.          Visible = False
  104.          .Icon = Icon.Handle
  105.          .Menu = hWnd And (chkSystemMenu.Value = vbChecked)
  106.          .Parent = hWnd
  107.          .TipText = Caption
  108.          
  109.          Call .AddIcon
  110.          
  111.          If .Enabled Then Call .ShowBalloon("Hello", "I'am on the SystemTray now!", , 5000, True)
  112.       End With
  113.    End If
  114.  
  115. End Sub
  116.  
  117. Private Sub mnuFile_Click(Index As Integer)
  118.  
  119.    If Index Then
  120.       Unload Me
  121.       
  122.    Else
  123.       Call SystemTray_DblClick(vbLeftButton)
  124.    End If
  125.  
  126. End Sub
  127.  
  128. Private Sub ShowPopupMenu()
  129.  
  130.    SetForegroundWindow hWnd
  131.    PopupMenu mnuMenu
  132.  
  133. End Sub
  134.  
  135. Private Sub SystemTray_BalloonClick()
  136.  
  137.    MsgBox "Balloon is clicked!"
  138.  
  139. End Sub
  140.  
  141. Private Sub SystemTray_BalloonClose()
  142.  
  143.    MsgBox "Balloon is closed!"
  144.  
  145. End Sub
  146.  
  147. Private Sub SystemTray_BalloonHide()
  148.  
  149.    MsgBox "Balloon is hide!"
  150.  
  151. End Sub
  152.  
  153. Private Sub SystemTray_BalloonShow()
  154.  
  155.    MsgBox "Balloon is shown!"
  156.  
  157. End Sub
  158.  
  159. Private Sub SystemTray_BalloonTimeOut()
  160.  
  161.    MsgBox "Balloon is timed out!"
  162.  
  163. End Sub
  164.  
  165. Private Sub SystemTray_Click(Button As Integer)
  166.  
  167.    If Button = vbLeftButton Then Call ShowPopupMenu
  168.  
  169. End Sub
  170.  
  171. Private Sub SystemTray_DblClick(Button As Integer)
  172.  
  173.    If Button = vbLeftButton Then
  174.       WindowState = vbNormal
  175.       Visible = True
  176.       SetForegroundWindow hWnd
  177.       
  178.    ElseIf Button = vbRightButton Then
  179.       Call ShowPopupMenu
  180.    End If
  181.  
  182. End Sub
  183.  
  184. Private Sub SystemTray_MouseMove()
  185.  
  186.    Call SystemTray.HideBalloon
  187.  
  188. End Sub
  189.