Differenze tra le versioni di "Utilizzare il tasto Tab della tastiera per spostare il cursore del mouse fra le celle di una TableView"

Da Gambas-it.org - Wikipedia.
Riga 65: Riga 65:
 
       Endif
 
       Endif
 
     <FONT Color=#B22222>Case Key.Tab
 
     <FONT Color=#B22222>Case Key.Tab
       Stop Event            </font><FONT Color=gray>' ''Lo "Stop Event" consente alla successiva linea "Desktop.SendKeys()" di funzionare.''</font>
+
       Stop Event            </font><FONT Color=gray>' ''Lo "Stop Event" consente alla successiva linea Desktop.SendKeys("\n") di funzionare.''</font>
 
       <FONT Color=#B22222>Desktop.SendKeys("\n")</font>
 
       <FONT Color=#B22222>Desktop.SendKeys("\n")</font>
 
   End Select   
 
   End Select   

Versione delle 08:00, 11 ott 2016

Mostriamo un esempio [ Nota 1 ], nel quale si prova a catturare la tabulazione all'interno della TableView per spostarsi con il cursore del mouse fra le celle.

E' necessario attivare i Componenti gb.desktop e gb.desktop.x11 .

Private $hWatcher As Watcher
Private $bNoEvent As Boolean

Public Sub _new()
 
 Dim hObs As Observer  
 hObs = New Observer(Me) As "TableView"
 $hWatcher = New Watcher(Me) As "TableView"  
 
End


Public Sub Form_Open()
  
  TableView1.Width = 550                          ' dichiara la larghezza dell'intera TableView
  TableView1.Columns.Count = 5                    ' dichiara il numero di colonne
  TableView1.Rows.Count = 20                      ' dichiara il numero di righe
  TableView1.Columns[0].Width = 10                ' dichiara la larghezza della colonna ID
  TableView1.Columns[1].Width = 200               ' dichiara la larghezza della colonna Luogo
  TableView1.Columns[2].Width = 10                ' dichiara la larghezza della colonna GRP
  TableView1.Columns[3].Width = 150               ' dichiara la larghezza della colonna stato
  TableView1.Columns[4].Alignment = Align.Center  ' centra i pulsanti
  TableView1.Rows.Height = 30                     ' dichiara l'altezza della riga
  TableView1.name = "PROVA"
  TableView1.Header = 3                           ' ATTIVA L'INTESTAZIONE DELLE COLONNE
  TableView1.Font.Size = 11
  TableView1.Columns[0].Text = "ID"
  TableView1.Columns[0].Alignment = 3             ' Allineamento centrato
  TableView1.Columns[1].text = "Luogo"
  TableView1.Columns[1].Alignment = 3             ' Allineamento centrato
  TableView1.Columns[2].text = "GRP"
  TableView1.Columns[2].Alignment = 3             ' Allineamento centrato
  TableView1.Columns[3].text = "Stato"
  TableView1.Columns[3].Alignment = 3             ' Allineamento centrato
  TableView1.Columns[4].text = "Pulsanti"
  
End


Public Sub TableView1_Click()   
  
  TableView1.EditWith(TextBox1)
     
End


Public Sub TableView1_Save(Row As Integer, Column As Integer, Value As String)
  
  TableView1[row, column].text = value
  
End

  
Public Sub TableView_KeyPress()  
  
' Per impedire a questi eventi di scatenare il click quando passano alla riga successiva:
  Select Case Key.Code    
    Case Key.Right, Key.Return, Key.Enter
      If TableView1.Column = 3 Then      
        $bNoEvent = True
      Endif
    Case Key.Tab
      Stop Event            ' Lo "Stop Event" consente alla successiva linea Desktop.SendKeys("\n") di funzionare.
      Desktop.SendKeys("\n")
  End Select  
  
End



Note

[1] Pagina e codice a cura del membro Gianluigi del forum gambas-org.it