Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Artemio
    Registrato dal
    Jan 2006
    Messaggi
    178

    [VB6] Nascondere il Menu se "clicco fuori"

    ciao a tutti
    ho un programmino con una notifyicon, e al click destro del mouse viene visualizzato un menu.
    Quest'ultimo però scompare solo se clicco su una delle voci... esiste un API che nel caso in cui si clicchi fuori dal menu, faccia scomparire il menu? avevo pensato a qualcosa con hWnd... ma nn so da dove cominciare.
    grazie


  2. #2
    avevo pensato a qualcosa con hWnd... ma nn so da dove cominciare.
    Che c'entra hWnd ?!?!? E' una proprietà di alcuni controlli (di sola lettura) che restituisce l'handle dell'oggetto stesso..

    Comunque, se ho capito bene il problema si ha quando clicchi con il pulsante destro sulla notify_icon e ti appare il menù: se clicchi su di un menù va via il menù stesso, altrimenti no..

    Se fosse così, penso proprio che dovresti ricorrere ad un Hook di sistema per intercettare il click del mouse e successivamente potresti ricavarti le coordinate e vedere se sono comprese tra quelle del menù..

    ciao

  3. #3
    Utente di HTML.it L'avatar di Artemio
    Registrato dal
    Jan 2006
    Messaggi
    178
    avevo pensato all'hWnd xkè l'avevo gia usato per un'altra OCX e dava l'effetto che desideravo applicare ( qualcosa del tipo: If ControlhWnd = Me.hWnd Then etc...).

    quello che vorrei fare è:
    cliccare con il destro sulla notifyicon e appare il menu(e fin qui lo so fare) e nel momento in cui clicco al di fuori dell'area del menu, il menu scompare

  4. #4
    Allora avevo capito..e la risposta te l'ho già data.

    Per quanto riguarda l'HWnd non significa niente quello che stai dicendo, è una proprietà come le altre e quindi è chiaro che viene usata anche in altre svariate occasioni..

    ciao

  5. #5
    Utente di HTML.it L'avatar di Artemio
    Registrato dal
    Jan 2006
    Messaggi
    178
    dovresti ricorrere ad un Hook di sistema per intercettare il click del mouse e successivamente potresti ricavarti le coordinate e vedere se sono comprese tra quelle del menù..
    non è che magari potresti postartmi 1 piccolo esempio :master:




  6. #6
    Sinceramente ora non ho tutto quel tempo per scrivere una cosa del genere, comunque se cerchi in rete troverai sicuramente qualche esempio per intercettare le azioni del mouse: chiaramente a te interessa l'evento Click..

    ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    Prova a leggere questo articolo e vedere se è l'esempio che cerchi:

    http://www.vbitalia.it/static/tray.htm

    oppure vedi se puoi adattare questo piccolo esempio che determina dov'è il puntatore del mouse:

    codice:
    Type POINTAPI 
     x As Long 
     y As Long 
    End Type 
    
    Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long 
    
    
    Dim z As POINTAPI 
    
    
    Private Sub Timer1_Timer() 
      GetCursorPos z 
      Label1  "x: " & z.x 
      Label2  "y: " & z.y 
    End Sub

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.