VB6 NotifyIcon Kullanımı

Bu derste VB6'da NotifyIcon kullanımını göstereceğim.

Bu derste VB6'da NotifyIcon kullanımını göstereceğim.

İlk önce Menü editör ile MenuPopup adında bir menü oluşturuyoruz.
Bunun içine de MenuVisible adında bir item ekliyoruz.

Daha sonra şu kodları projeye ekliyoruz:


Option Explicit

 

Private Type NotifyIconData

Size As Long

Handle As Long

ID As Long

Flags As Long

CallBackMessage As Long

Icon As Long

Tip As String * 64

End Type

 

Private Const AddIcon = &H0

Private Const ModifyIcon = &H1

Private Const DeleteIcon = &H2

 

Private Const WM_MOUSEMOVE = &H200

Private Const WM_LBUTTONDBLCLK = &H203

Private Const WM_LBUTTONDOWN = &H201

Private Const WM_LBUTTONUP = &H202

 

Private Const WM_RBUTTONDBLCLK = &H206

Private Const WM_RBUTTONDOWN = &H204

Private Const WM_RBUTTONUP = &H205

 

Private Const MessageFlag = &H1

Private Const IconFlag = &H2

Private Const TipFlag = &H4

       

Private Declare Function Shell_NotifyIcon Lib "shell32" _ 

    Alias "Shell_NotifyIconA" (ByVal Message As Long, _

    Data As NotifyIconData) As Boolean

 

Private Data As NotifyIconData

 

Private Sub Form_Load()

   AddIconToTray

   Visible = False

End Sub

 

Private Sub Form_Terminate()

   DeleteIconFromTray

End Sub

 

Private Sub AddIconToTray()

  Data.Size = Len(Data)

  Data.Handle = hWnd

  Data.ID = vbNull

  Data.Flags = IconFlag Or TipFlag Or MessageFlag

  Data.CallBackMessage = WM_MOUSEMOVE

  Data.Icon = Icon

  Data.Tip = "BURAYA UYGULAMA ADI VEYA AÇIKLAMA YAZILABİLİR" & vbNullChar

  Call Shell_NotifyIcon(AddIcon, Data)

End Sub

 

Private Sub DeleteIconFromTray()

  Call Shell_NotifyIcon(DeleteIcon, Data)

End Sub

 

Private Function GetWindowState(ByVal Value As Boolean) As Integer

     

Abs(False) = 0 = vbNormal, Abs(True) = 1 = vbMinimized

GetWindowState = Abs(Value)

   

End Function



  Private Sub Form_MouseMove(Button As Integer, _

  Shift As Integer, X As Single, Y As Single)

   

   Dim Message As Long

   Message = X / Screen.TwipsPerPixelX

   

   Select Case Message

   Case WM_LBUTTONDBLCLK

   ToggleState

   Case WM_RBUTTONDOWN

   Call Me.PopupMenu(MenuPopup, , , , MenuVisible)

End Select

   

End Sub

 

Private Sub ToggleState()

   Visible = Not Visible

WindowState = GetWindowState(Not Visible)

End Sub

 

Private Sub MenuVisible_Click()

ToggleState

End Sub

  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git