15.07.2013 Views

Microsoft Visual Basic - Encyclopaedia Gentium Boni

Microsoft Visual Basic - Encyclopaedia Gentium Boni

Microsoft Visual Basic - Encyclopaedia Gentium Boni

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

frmSysTray - 4<br />

End Sub<br />

Public Function RemoveMenuItem(ByVal iIndex As Long) As Long<br />

Dim i As Long<br />

If ValidIndex(iIndex) Then<br />

If (iIndex = 0) Then<br />

mnuSysTray(0).Caption = ""<br />

Else<br />

' remove the item:<br />

For i = iIndex + 1 To mnuSysTray.UBound<br />

mnuSysTray(iIndex - 1).Caption = mnuSysTray(iIndex).Caption<br />

mnuSysTray(iIndex - 1).Tag = mnuSysTray(iIndex).Tag<br />

Next i<br />

Unload mnuSysTray(mnuSysTray.UBound)<br />

End If<br />

End If<br />

End Function<br />

Public Property Get DefaultMenuIndex() As Long<br />

DefaultMenuIndex = m_iDefaultIndex<br />

End Property<br />

Public Property Let DefaultMenuIndex(ByVal lIndex As Long)<br />

If (ValidIndex(lIndex)) Then<br />

m_iDefaultIndex = lIndex<br />

Else<br />

m_iDefaultIndex = 0<br />

End If<br />

End Property<br />

Public Function ShowMenu()<br />

SetForegroundWindow Me.hwnd<br />

If (m_iDefaultIndex > -1) Then<br />

Me.PopupMenu mnuPopup, 0, , , mnuSysTray(m_iDefaultIndex)<br />

Else<br />

Me.PopupMenu mnuPopup, 0<br />

End If<br />

End Function<br />

Private Sub Form_Load()<br />

' Get version:<br />

Dim lMajor As Long<br />

Dim lMinor As Long<br />

Dim bIsNt As Long<br />

GetWindowsVersion lMajor, lMinor, , , bIsNt<br />

)<br />

If (bIsNt) Then<br />

m_bUseUnicode = True<br />

If (lMajor >= 5) Then<br />

' 2000 or XP<br />

m_bSupportsNewVersion = True<br />

End If<br />

ElseIf (lMajor = 4) And (lMinor = 90) Then<br />

' Windows ME<br />

m_bSupportsNewVersion = True<br />

End If<br />

'Add the icon to the system tray...<br />

Dim lR As Long<br />

If (m_bUseUnicode) Then<br />

With nfIconDataW<br />

.hwnd = Me.hwnd<br />

.uID = Me.Icon<br />

.uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP<br />

.uCallbackMessage = WM_MOUSEMOVE<br />

.hIcon = Me.Icon.Handle<br />

stringToArray App.FileDescription, .szTip, unicodeSize(IIf(m_bSupportsNewVersion, 128, 64)<br />

If (m_bSupportsNewVersion) Then<br />

.uTimeOutOrVersion = NOTIFYICON_VERSION<br />

End If<br />

.cbSize = nfStructureSize<br />

End With<br />

lR = Shell_NotifyIconW(NIM_ADD, nfIconDataW)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!