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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

frmSysTray - 2<br />

Private nfIconDataW As NOTIFYICONDATAW<br />

Private Const NOTIFYICONDATAA_V1_SIZE_A = 88<br />

Private Const NOTIFYICONDATAA_V1_SIZE_U = 152<br />

Private Const NOTIFYICONDATAA_V2_SIZE_A = 488<br />

Private Const NOTIFYICONDATAA_V2_SIZE_U = 936<br />

Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long<br />

Private Const WM_MOUSEMOVE = &H200<br />

Private Const WM_LBUTTONDBLCLK = &H203<br />

Private Const WM_LBUTTONDOWN = &H201<br />

Private Const WM_LBUTTONUP = &H202<br />

Private Const WM_RBUTTONDBLCLK = &H206<br />

Private Const WM_RBUTTONDOWN = &H204<br />

Private Const WM_RBUTTONUP = &H205<br />

Private Const WM_USER = &H400<br />

Private Const NIN_SELECT = WM_USER<br />

Private Const NINF_KEY = &H1<br />

Private Const NIN_KEYSELECT = (NIN_SELECT Or NINF_KEY)<br />

Private Const NIN_BALLOONSHOW = (WM_USER + 2)<br />

Private Const NIN_BALLOONHIDE = (WM_USER + 3)<br />

Private Const NIN_BALLOONTIMEOUT = (WM_USER + 4)<br />

Private Const NIN_BALLOONUSERCLICK = (WM_USER + 5)<br />

' Version detection:<br />

Private Declare Function GetVersion Lib "kernel32" () As Long<br />

Public Event SysTrayMouseDown(ByVal eButton As MouseButtonConstants)<br />

Public Event SysTrayMouseUp(ByVal eButton As MouseButtonConstants)<br />

Public Event SysTrayMouseMove()<br />

Public Event SysTrayDoubleClick(ByVal eButton As MouseButtonConstants)<br />

Public Event MenuClick(ByVal lIndex As Long, ByVal sKey As String)<br />

Public Event BalloonShow()<br />

Public Event BalloonHide()<br />

Public Event BalloonTimeOut()<br />

Public Event BalloonClicked()<br />

Public Enum EBalloonIconTypes<br />

NIIF_NONE = 0<br />

NIIF_INFO = 1<br />

NIIF_WARNING = 2<br />

NIIF_ERROR = 3<br />

NIIF_NOSOUND = &H10<br />

End Enum<br />

Private m_bAddedMenuItem As Boolean<br />

Private m_iDefaultIndex As Long<br />

Private m_bUseUnicode As Boolean<br />

Private m_bSupportsNewVersion As Boolean<br />

Public Sub ShowBalloonTip( _<br />

ByVal sMessage As String, _<br />

Optional ByVal sTitle As String, _<br />

Optional ByVal eIcon As EBalloonIconTypes, _<br />

Optional ByVal lTimeOutMs = 30000 _<br />

)<br />

Dim lR As Long<br />

If (m_bSupportsNewVersion) Then<br />

If (m_bUseUnicode) Then<br />

stringToArray sMessage, nfIconDataW.szInfo, 512<br />

stringToArray sTitle, nfIconDataW.szInfoTitle, 128<br />

nfIconDataW.uTimeOutOrVersion = lTimeOutMs<br />

nfIconDataW.dwInfoFlags = eIcon<br />

nfIconDataW.uFlags = NIF_INFO<br />

lR = Shell_NotifyIconW(NIM_MODIFY, nfIconDataW)<br />

Else<br />

nfIconDataA.szInfo = sMessage<br />

nfIconDataA.szInfoTitle = sTitle<br />

nfIconDataA.uTimeOutOrVersion = lTimeOutMs<br />

nfIconDataA.dwInfoFlags = eIcon<br />

nfIconDataA.uFlags = NIF_INFO<br />

lR = Shell_NotifyIconA(NIM_MODIFY, nfIconDataA)

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

Saved successfully!

Ooh no, something went wrong!