Utilizzare il tasto Tab della tastiera per spostare il cursore del mouse fra le celle di una TableView
Da Gambas-it.org - Wikipedia.
Versione del 11 ott 2016 alle 08:00 di Vuott (Discussione | contributi)
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