home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 3_2004-2005.ISO / Data / Zips / My_Reminde184775232005.psc / Reminder / frmMain.frm < prev    next >
Text File  |  2005-01-29  |  6KB  |  181 lines

  1. VERSION 5.00
  2. Begin VB.Form frmMain 
  3.    BorderStyle     =   1  'Fixed Single
  4.    ClientHeight    =   2730
  5.    ClientLeft      =   15
  6.    ClientTop       =   15
  7.    ClientWidth     =   4680
  8.    ControlBox      =   0   'False
  9.    LinkTopic       =   "Form1"
  10.    MaxButton       =   0   'False
  11.    MinButton       =   0   'False
  12.    ScaleHeight     =   2730
  13.    ScaleWidth      =   4680
  14.    StartUpPosition =   2  'CenterScreen
  15.    Begin VB.CommandButton cmdMenu 
  16.       Caption         =   "Options"
  17.       Height          =   375
  18.       Left            =   1800
  19.       TabIndex        =   1
  20.       Top             =   1200
  21.       Width           =   975
  22.    End
  23.    Begin VB.PictureBox TrayIcon 
  24.       AutoRedraw      =   -1  'True
  25.       AutoSize        =   -1  'True
  26.       Height          =   540
  27.       Left            =   0
  28.       Picture         =   "frmMain.frx":0000
  29.       ScaleHeight     =   480
  30.       ScaleWidth      =   480
  31.       TabIndex        =   0
  32.       Top             =   240
  33.       Width           =   540
  34.    End
  35.    Begin VB.Menu mnuOP 
  36.       Caption         =   ""
  37.       Visible         =   0   'False
  38.       Begin VB.Menu mnuCTRL 
  39.          Caption         =   ""
  40.       End
  41.       Begin VB.Menu spe1 
  42.          Caption         =   "-"
  43.       End
  44.       Begin VB.Menu mnuExit 
  45.          Caption         =   "&Exit"
  46.       End
  47.    End
  48. End
  49. Attribute VB_Name = "frmMain"
  50. Attribute VB_GlobalNameSpace = False
  51. Attribute VB_Creatable = False
  52. Attribute VB_PredeclaredId = True
  53. Attribute VB_Exposed = False
  54. '###########################################################
  55. ' This Form carries a Picture Box named "TrayIcon" set to
  56. ' good height so that its not visible when app is running
  57. '###########################################################
  58.  
  59.  
  60. '###########################################################
  61. ' This Function Show TrayIcon.Picture in System Tray
  62. ' Don't Bother what it says
  63. ' To change TrayIcon's ToolTip goto 2nd Last Line
  64. '###########################################################
  65. Public Function ShowProgramInTray()
  66. INTRAY = True   'Means App is now in Tray
  67.     
  68.     NI.cbSize = Len(NI) 'set the length of this structure
  69.     NI.hwnd = TrayIcon.hwnd 'control to receive messages from
  70.     NI.uID = 0 'uniqueID
  71.     NI.uID = NI.uID + 1
  72.     NI.uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP 'operation flags
  73.     NI.uCallbackMessage = WM_MOUSEMOVE 'recieve messages from mouse activities
  74.     NI.hIcon = TrayIcon.Picture  'the location of the icon to display
  75.   
  76. ' Change System Tray Icon's Tool Tip Here bt don't delete chr$(0) [its line carriage here]
  77.     
  78.     NI.szTip = "Desktop Manager" + Chr$(0) 'LoadResString(Language) + Chr$(0)  'the tool tip to display"
  79.     result = Shell_NotifyIconA(NIM_ADD, NI) 'add the icon to the system tray
  80. End Function
  81.  
  82.  
  83. '###########################################################
  84. ' This Function Delete TrayIcon.Picture from System Tray
  85. ' Don't Bother what it says
  86. '###########################################################
  87. Private Sub DeleteIcon(pic As Control)
  88. INTRAY = False  'Means app is unloaded or Max mode
  89.     
  90.     ' On remove, we only have to give enough information for Windows
  91.     ' to locate the icon, then tell the system to delete it.
  92.     NI.uID = 0 'uniqueID
  93.     NI.uID = NI.uID + 1
  94.     NI.cbSize = Len(NI)
  95.     NI.hwnd = pic.hwnd
  96.     NI.uCallbackMessage = WM_MOUSEMOVE
  97.     result = Shell_NotifyIconA(NIM_DELETE, NI)
  98. End Sub
  99.  
  100. '###########################################################
  101. ' This Function controls 3 funtions
  102. ' 1] Visibility of App Form
  103. ' 2] Visibility of Tray Icon
  104. ' 3] Menu Caption Control
  105. '###########################################################
  106.  
  107. Public Function NoSysIcon(maxIcon As Boolean)
  108.     Select Case maxIcon
  109.     Case False   'Case App in Min Mode
  110.         Me.Visible = False
  111.         ShowProgramInTray               'Now show TrayIcon PictureBox's Picture in SysTray as icon
  112.         mnuCTRL.Caption = "E&xpand Application"
  113.     
  114.     Case Else   'Case App in Max Mode
  115.         Me.Visible = True
  116.         DeleteIcon TrayIcon
  117.         mnuCTRL.Caption = "Minimize App to System Tray"
  118.     
  119.     End Select
  120.  
  121. End Function
  122.  
  123.  
  124. Private Sub cmdMenu_Click()
  125. PopupMenu mnuOP, 2, cmdMenu.Left + cmdMenu.Width / 2, cmdMenu.Top + cmdMenu.Height / 2, mnuCTRL 'show the popoup menu
  126. End Sub
  127.  
  128. Private Sub Form_Load()
  129. TrayIcon.Top = Me.Height + 1000 'Set TrayIcon PictureBox top to such limit that its not visible
  130.  
  131. NoSysIcon False
  132. 'Initially we are setting App to Min(or minimized in systray) mode
  133. 'So this must be initially false
  134.                              
  135. 'Cooool Funda used here:
  136. 'App visible = True when Tray Icon Visible = False And Vice-versa
  137.  
  138. End Sub
  139.  
  140. 'mnuCTRL controls the Expansion and Minimizing function
  141. Private Sub mnuCTRL_Click()
  142. NoSysIcon INTRAY  'Call Menu Function
  143. End Sub
  144.  
  145. Private Sub mnuExit_Click()
  146. DeleteIcon TrayIcon 'As we are exiting App
  147. End
  148. End Sub
  149.  
  150.  
  151.  
  152. '###########################################################
  153. ' This Function Tells what Event happened to icon in
  154. ' system tray
  155. '###########################################################
  156. Private Sub Trayicon_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  157.     Dim Msg As Long
  158.     Msg = (X And &HFF) * &H100
  159.  
  160.     Select Case Msg
  161.         Case 0 'mouse moves
  162.         
  163.         Case &HF00  'left mouse button down
  164.         
  165.         Case &H1E00 'left mouse button up
  166.         
  167.         Case &H3C00  'right mouse button down
  168.         PopupMenu mnuOP, 2, , , mnuCTRL 'show the popoup menu
  169.         
  170.         Case &H2D00 'left mouse button double click
  171.         NoSysIcon True    'Show App on double clicking Mouse's Left Button
  172.         
  173.         Case &H4B00 'right mouse button up
  174.         
  175.         Case &H5A00 'right mouse button double click
  176.         
  177.     End Select
  178.    
  179. End Sub
  180.  
  181.