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 2: Riga 2:
  
 
E' necessario attivare i Componenti ''gb.desktop'' e ''gb.desktop.x11'' .
 
E' necessario attivare i Componenti ''gb.desktop'' e ''gb.desktop.x11'' .
 
+
<FONT Color=gray>' '''''Così per muoversi fra le celle si può usare anche il tasto Tab oltre al tasto invio e ai tasti freccia.'''''</font>
 
  Private $hWatcher As Watcher
 
  Private $hWatcher As Watcher
Private $bNoEvent As Boolean
 
 
   
 
   
 +
 
 
  '''Public''' Sub _new()
 
  '''Public''' Sub _new()
 
    
 
    
   Dim hObs As Observer
+
   Dim hObs As Observer
  hObs = New Observer(Me) As "TableView"
+
 
  $hWatcher = New Watcher(Me) As "TableView"   
+
  hObs = New Observer(Me) As "TableView"
 +
  $hWatcher = New Watcher(Me) As "TableView"   
 
    
 
    
 
  '''End'''
 
  '''End'''
Riga 20: Riga 21:
 
   TableView1.Columns.Count = 5                    <FONT Color=gray>' ''dichiara il numero di colonne''</font>
 
   TableView1.Columns.Count = 5                    <FONT Color=gray>' ''dichiara il numero di colonne''</font>
 
   TableView1.Rows.Count = 20                      <FONT Color=gray>' ''dichiara il numero di righe''</font>
 
   TableView1.Rows.Count = 20                      <FONT Color=gray>' ''dichiara il numero di righe''</font>
   TableView1.Columns[0].Width = 10                <FONT Color=gray>' ''dichiara la larghezza della colonna ID''</font>
+
   TableView1.Columns[0].Width = 100              <FONT Color=gray>' ''dichiara la larghezza della colonna ID''</font>
   TableView1.Columns[1].Width = 200               <FONT Color=gray>' ''dichiara la larghezza della colonna Luogo''</font>
+
   TableView1.Columns[1].Width = 100               <FONT Color=gray>' ''dichiara la larghezza della colonna Luogo''</font>
   TableView1.Columns[2].Width = 10                <FONT Color=gray>' ''dichiara la larghezza della colonna GRP''</font>
+
   TableView1.Columns[2].Width = 100              <FONT Color=gray>' ''dichiara la larghezza della colonna GRP''</font>
   TableView1.Columns[3].Width = 150               <FONT Color=gray>' ''dichiara la larghezza della colonna stato''</font>
+
   TableView1.Columns[3].Width = 100               <FONT Color=gray>' ''dichiara la larghezza della colonna stato''</font>
 
   TableView1.Columns[4].Alignment = Align.Center  <FONT Color=gray>' ''centra i pulsanti''</font>
 
   TableView1.Columns[4].Alignment = Align.Center  <FONT Color=gray>' ''centra i pulsanti''</font>
 
   TableView1.Rows.Height = 30                    <FONT Color=gray>' ''dichiara l'altezza della riga''</font>
 
   TableView1.Rows.Height = 30                    <FONT Color=gray>' ''dichiara l'altezza della riga''</font>
Riga 29: Riga 30:
 
   TableView1.Header = 3                          <FONT Color=gray>' ''ATTIVA L'INTESTAZIONE DELLE COLONNE''</font>
 
   TableView1.Header = 3                          <FONT Color=gray>' ''ATTIVA L'INTESTAZIONE DELLE COLONNE''</font>
 
   TableView1.Font.Size = 11
 
   TableView1.Font.Size = 11
  TableView1.Columns[0].Text = "ID"
 
 
   TableView1.Columns[0].Alignment = 3            <FONT Color=gray>' ''Allineamento centrato''</font>
 
   TableView1.Columns[0].Alignment = 3            <FONT Color=gray>' ''Allineamento centrato''</font>
  TableView1.Columns[1].text = "Luogo"
 
 
   TableView1.Columns[1].Alignment = 3            <FONT Color=gray>' ''Allineamento centrato''</font>
 
   TableView1.Columns[1].Alignment = 3            <FONT Color=gray>' ''Allineamento centrato''</font>
  TableView1.Columns[2].text = "GRP"
 
 
   TableView1.Columns[2].Alignment = 3            <FONT Color=gray>' ''Allineamento centrato''</font>
 
   TableView1.Columns[2].Alignment = 3            <FONT Color=gray>' ''Allineamento centrato''</font>
  TableView1.Columns[3].text = "Stato"
 
 
   TableView1.Columns[3].Alignment = 3            <FONT Color=gray>' ''Allineamento centrato''</font>
 
   TableView1.Columns[3].Alignment = 3            <FONT Color=gray>' ''Allineamento centrato''</font>
  TableView1.Columns[4].text = "Pulsanti"
+
     
 
 
 
  '''End'''
 
  '''End'''
 
   
 
   
Riga 44: Riga 40:
 
  '''Public''' Sub TableView1_Click()   
 
  '''Public''' Sub TableView1_Click()   
 
    
 
    
   TableView1.EditWith(TextBox1)
+
   TableView1.Edit
 
        
 
        
 
  '''End'''
 
  '''End'''
+
 
 
'''Public''' Sub TableView1_Save(Row As Integer, Column As Integer, Value As String)
 
 
 
  TableView1[row, column].text = value
 
 
 
'''End'''
 
 
 
    
 
    
 
  '''Public''' Sub TableView_KeyPress()   
 
  '''Public''' Sub TableView_KeyPress()   
 
    
 
    
  <FONT Color=gray>' ''Per impedire a questi eventi di scatenare il click quando passano alla riga successiva:''</font>
+
  <FONT Color=gray>' ''Serve per spostarsi con tasto Tab:''</font>
  Select Case Key.Code   
+
     <FONT Color=#B22222>If Key.Code = Key.Tab
    Case Key.Right, Key.Return, Key.Enter
 
      If TableView1.Column = 3 Then     
 
        $bNoEvent = True
 
      Endif
 
     <FONT Color=#B22222>Case Key.Tab
 
 
       Stop Event            </font><FONT Color=gray>' ''Lo "Stop Event" consente alla successiva linea Desktop.SendKeys("\n") 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")
  End Select 
+
    Endif</font>
 
+
     
 
  '''End'''
 
  '''End'''
  

Versione delle 08:43, 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 .

' Così per muoversi fra le celle si può usare anche il tasto Tab oltre al tasto invio e ai tasti freccia.
Private $hWatcher As Watcher

 
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 = 100               ' dichiara la larghezza della colonna ID
  TableView1.Columns[1].Width = 100               ' dichiara la larghezza della colonna Luogo
  TableView1.Columns[2].Width = 100               ' dichiara la larghezza della colonna GRP
  TableView1.Columns[3].Width = 100               ' 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].Alignment = 3             ' Allineamento centrato
  TableView1.Columns[1].Alignment = 3             ' Allineamento centrato
  TableView1.Columns[2].Alignment = 3             ' Allineamento centrato
  TableView1.Columns[3].Alignment = 3             ' Allineamento centrato
     
End


Public Sub TableView1_Click()   
  
  TableView1.Edit
     
End
 
  
Public Sub TableView_KeyPress()  
  
' Serve per spostarsi con tasto Tab:
    If Key.Code = Key.Tab
      Stop Event            ' Lo "Stop Event" consente alla successiva linea Desktop.SendKeys("\n") di funzionare.
      Desktop.SendKeys("\n")
    Endif
     
End



Note

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