Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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


Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...