Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    CallBack e Notify Icon in systray

    io per gestire una icona sulla sysTray uso questo codice in un modulo

    codice:
    Public Declare Function Shell_NotifyIcon Lib "shell32.dll" _
    Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, _
    lpData As NOTIFYICONDATA) As Long
    
    Public 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
    
    Public Const NIM_ADD = &H0
    Public Const NIM_DELETE = &H2
    Public Const NIM_MODIFY = &H1
    
    Public Const NIF_ICON = &H2
    Public Const NIF_MESSAGE = &H1
    Public Const NIF_TIP = &H4
    
    Public Const WM_MOUSEMOVE = &H200
    Public Const WM_RBUTTONUP = &H205
    Public Const WM_RBUTTONDOWN = &H204
    
    Global TrayIcon As NOTIFYICONDATA
    equesto nel form associato alla Notify Icon

    codice:
    Private Sub Form_Initialize()
       TrayIcon.cbSize = Len(TrayIcon)
       TrayIcon.hwnd = Me.hwnd
       TrayIcon.uID = vbNull
       TrayIcon.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
       TrayIcon.uCallbackMessage = WM_MOUSEMOVE
       TrayIcon.hIcon = Me.Icon
       TrayIcon.szTip = App.EXEName & vbNullChar
       Call Shell_NotifyIcon(NIM_ADD, TrayIcon)
       Call Shell_NotifyIcon(NIM_MODIFY, TrayIcon)
    End Sub
    
    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Select Case X
            Case 7755:   'Right Click
                PopupMenu mnuSysTray 
            Case 7725:    'Dbl Left Click
        End Select
    End Sub
    ora la procedura mi funziona sempre perfettamante tranne che su un progetto che sto facendo ora proprio non riesco a capire come ai non funzioni
    in pratica mi mette la icona tooltip ecc dove deve andare ma non entra mai nella routine mousemove quando passo sopra l'icona

    qualche idea???
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  2. #2
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Ciao xegallo,
    ho provato il codice che hai postato e da me funziona benissimo!
    Non ho capito se lo stesso codice in un progetto ti va ed in un altro no.. oppure non ti funziona mai scritto così?

    Se ti funziona in un progetto e in un altro no.. mi sembra strana la cosa.. controlla i riferimenti alle dll dei 2 progetti, oppure potrebbe essere che li provi su 2 sistemi operativi diversi?

    Io ho un esempio che tempo fa avevo scaricato da internet, l'ho provato e mi funziona anche quello.. se vuoi te lo mando, utilizza un modulo di classe.. Forse questo fa al caso tuo.

    Fammi avere il tuo indirizzo email se ti interessa!
    Ciao
    Ciao
    Andrea

  3. #3
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Te lo fa anche in compilato?
    Ma non ti entra nell'evento o nel select case?... a dire la verita' non ho capito perche' lavori sul parametro X di quella routine per identificare il click o il dblclick del mouse (ammesso che i commenti siano "esatti")
    ...and I miss you...like the deserts miss the rain...

  4. #4
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    per vonkranz..
    ciao, anch'io sono rimasto un po' all'uso dell'x..
    però funziona!
    Quando premi il pulsante sull'icona nella barra delle applicazioni entra nell'evento.
    Ciao
    Andrea

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.