Evitare che appaia il popmenu quando si clicca al di fuori di un elemento di una ListView

Da Gambas-it.org - Wikipedia.
Versione del 18 set 2017 alle 15:48 di Vuott (Discussione | contributi) (Creata pagina con "Per far sì che non appaia il popmenu, quando si clicca con il mouse al di fuori di un elemento della lista di una ''ListView'', si può adottare un codice come il seguente:...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Per far sì che non appaia il popmenu, quando si clicca con il mouse al di fuori di un elemento della lista di una ListView, si può adottare un codice come il seguente:

Public Sub Form_Open()
 
 With ListView1
   .Add("chiave_A", "aaaaa")
   .Add("chiave_B", "bbbbb")
   .Add("chiave_C", "ccccc")
 End With
  
End


Public Sub ListView1_MouseUp()
 
 Dim menu1, submenu1, submenu2 As Menu
 Dim j, k, b As Byte
  
' Se è stato cliccato all'interno dell'oggetto "ListView" con il tasto destro del mouse...
  If Mouse.Right Then
' ...allora verifica se alle coordinate ove si è cliccato esiste un item valido dell'oggetto "ListView":
    If ListView1.FindAt(Mouse.X, Mouse.Y) Then Return
' Crea innanzitutto il Menu principale:
      menu1 = New Menu(Me)
      
' Poi crea quattro sotto-Menu:
      For j = 1 To 4
        submenu1 = New Menu(menu1)
' Mostra il testo per ciascuno dei quattro sotto-Menu:
        submenu1.Text = "submenu1_" & CStr(j)
        
' Poi crea tre sotto-Menu per ciascun precedente sotto-Menu:
        For k = 1 To 3
          submenu2 = New Menu(submenu1)
          b += 1
' Mostra il testo per ciascuno dei tre sotto-Menu:
          submenu2.Text = "submenu2_" & CStr(b)
' Assegna all'azione, quando si cliccherà su uno dei secondi sotto-Menu, il testo del secondo sotto-Menu medesimo:
          submenu2.Action = submenu2.Text
        Next
      Next
      
' Mostra quindi le finestre di ciascun Menu:
      menu1.Popup
  
  Endif
  
End


Public Sub Action_Activate(azione As String) As Boolean
 
' Mostra in console semplicemente il testo del sotto-Menu cliccato:
 Print azione
  
End



Note

[1] Vedi anche: Creare Menu a finestra