Zum Inhalt springen

System tray


ThaNeub

Empfohlene Beiträge

Hi!

Ich hab gestern abend noch das Tutorial rausgekramt. Ist eigentlich alles drin, was man mit dem Systray-Icon alles so machen kann (inklusive Menü)

Gruß und viel Spaß damit :)

Technician

- - - - - - - - - - - - - - - - - - -

Eigenes Icon in der Taskbar

Jeder kennt sie, die futzeligen Bildchen, meist unten rechts in der Ecke gelegen. Das geht auch mit VB. Neben dem Darstellen eines beliebigen Symbols und dem einschlägigem Starten des zugehörigen Progamms nach einem Doppelklick auf dieses, kann hiermit auch ein PopUp-Menü eingespielt werden. Weiterhin kann zwischen Klick & Doppelklick mit der rechten bzw. linken Maustaste reagiert werden. Auch ein Mausmoveereignis und die Möglichkeit des ToolTipTextes gibt es.


Option Explicit


Private Declare Function Shell_NotifyIcon Lib "shell32"Alias _

        "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As _

        NOTIFYICONDATA) As Boolean


Const NIM_ADD = &H0

Const NIM_MODIFY = &H1

Const NIM_DELETE = &H2

Const NIF_MESSAGE = &H1

Const NIF_ICON = &H2

Const NIF_TIP = &H4


Const WM_MOUSEMOVE = &H200

Const WM_LBUTTONDOWN = &H201

Const WM_LBUTTONUP = &H202

Const WM_LBUTTONDBLCLK = &H203

Const WM_RBUTTONDOWN = &H204

Const WM_RBUTTONUP = &H205

Const WM_RBUTTONDBLCLK = &H206


Private Type NOTIFYICONDATA

  cbSize As Long

  hWnd As Long

  uId As Long

  uFlags As Long

  ucallbackMessage As Long

  hIcon As Long

  szTip As String * 64

End Type


Dim TIcon As NOTIFYICONDATA


Private Sub Form_Load()

  Me.Hide

  App.TaskVisible = False

  mnBar.Visible = False


  TIcon.cbSize = Len(TIcon)

  TIcon.hWnd = Picture1.hWnd

  TIcon.uId = 1&

  TIcon.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE

  TIcon.ucallbackMessage = WM_MOUSEMOVE

  TIcon.hIcon = Me.Icon

  TIcon.szTip = "Was soll ich dazu sagen" & Chr$(0)


  Shell_NotifyIcon NIM_ADD, TIcon

End Sub


Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

  Form1.Hide

  If UnloadMode = vbAppWindows Or UnloadMode = vbFormCode Then

    Shell_NotifyIcon NIM_DELETE, TIcon

  Else

    Cancel = 1

  End If

End Sub


Private Sub mnBeep_Click()

  Beep

End Sub


Private Sub mnExit_Click(Index As Integer)

  Shell_NotifyIcon NIM_DELETE, TIcon

  Unload Me

End Sub


Private Sub mnMsgShow_Click()

  MsgBox ("Hier bin ich")

End Sub


Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, _

                               x As Single, Y As Single)

  Dim Msg&

    Msg = x / Screen.TwipsPerPixelX


    Select Case Msg

      Case WM_MOUSEMOVE: Beep

      Case WM_LBUTTONDBLCLK: Me.Show

      Case WM_LBUTTONDOWN:

      Case WM_LBUTTONUP:

      Case WM_RBUTTONDBLCLK: Me.Show

      Case WM_RBUTTONDOWN:

      Case WM_RBUTTONUP: Me.PopupMenu mnBar

    End Select

End Sub


Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...