Listbox Cell Q.

I start out with a generic listbox and I am struggling on the non editible cells. I can’t seem to be able to get a cellclick or cellfocus event to fire until I have my code make that field editable. How would I address the non editable cells?

Thanks

How do you expect those events to fire?

CellClicked is called when you click in a specific cell. It does not have to be editable.

CellGotFocus is called when the cell is editable and the focus goes to it (by clicking or calling EditCell, for example).

Yes that is what I understand as I set the celltype of 3 to make them editable. I just wanted to know how to access to non editable cells if its possible. Would I use the cellbackground possibly? I just want to see a click on the non editable area of the listbox and then run a method.

I just did a quick test and CellClicked is called when you click in a specific, non-editable cell.

Hmm weird as I have tried that also. Here is my listbox.open event. Ill keep at it since you verified it should work. Thanks Paul!

I am on Xojo 2013 R2 BTW.

  // Setup Default Behavior
  Me.ColumnsResizable = True
  me.RequiresSelection = false
  Me.ColumnCount = 8
  Me.HasHeading = True
  Me.AutoHideScrollbars = false
  Me.ScrollBarHorizontal = True
  Me.ScrollBarVertical = True
  Me.GridLinesHorizontal = 3
  Me.GridLinesVertical = 3
  Me.UseFocusRing = false
  Me.ColumnWidths = "90,90,90,90,60,60,60,60"
  Me.TextFont = "System"
  me.TextSize = 12
  me.SelectionType = 1 
  me.DefaultRowHeight = 20
  
  // Set Initial Fields
  dim GroupVar as String
  dim NewListboxIndex as integer
  
  // Column Details
  Me.Heading(0) = "Group Name"
  Me.HeaderType(0) =listbox.HeaderTypes.Sortable
  Me.Heading(1) = "Username"
  Me.HeaderType(1) =listbox.HeaderTypes.Sortable
  Me.Heading(2) = "Password"
  Me.HeaderType(2) =listbox.HeaderTypes.Sortable
  Me.Heading(3) = "Enable PW"
  Me.HeaderType(3) =listbox.HeaderTypes.Sortable
  Me.Heading(4) = "TELNET"
  Me.HeaderType(4) =listbox.HeaderTypes.NotSortable
  Me.Heading(5) = "SSH"
  Me.HeaderType(5) =listbox.HeaderTypes.NotSortable
  Me.Heading(6) = "HTTP"
  Me.HeaderType(6) =listbox.HeaderTypes.NotSortable
  Me.Heading(7) = "HTTPS"
  Me.HeaderType(7) =listbox.HeaderTypes.NotSortable
  
  // Add Default Data #1
  Me.AddRow "Group0"
  me.CellAlignment(me.LastIndex,0) = 1
  me.CellAlignment(me.LastIndex,1) = 1
  me.CellAlignment(me.LastIndex,2) = 1
  me.CellAlignment(me.LastIndex,3) = 1
  
  Me.Cell(Me.LastIndex,1)="musername"
  Me.Cell(Me.LastIndex,2)="Passw0rd!"
  Me.Cell(Me.LastIndex,3)="1234567"
  Me.CellType(Me.LastIndex,4) = Listbox.TypeCheckbox
  Me.CellState(Me.LastIndex,4) = CheckBox.CheckedStates.Checked
  Me.CellType(Me.LastIndex,5) = Listbox.TypeCheckbox
  Me.CellState(Me.LastIndex,5) = CheckBox.CheckedStates.Unchecked
  Me.CellType(Me.LastIndex,6) = Listbox.TypeCheckbox
  Me.CellState(Me.LastIndex,6) = CheckBox.CheckedStates.Unchecked
  Me.CellType(Me.LastIndex,7) = Listbox.TypeCheckbox
  Me.CellState(Me.LastIndex,7) = CheckBox.CheckedStates.Checked

  // Check to see if there are Rows of Data if not then disable "remote button"
  
  if me.ListCount = 0 then
    PreferencesWindow.CredentialGroupDeleteButton.Enabled = false
  end if

My screen shot

My Listbox.CellClicked - Notice the messagebox.

  MsgBox "CLicked"
  
  if column = 4 then
    Me.CellType(row,4)=ListBox.TypeCheckbox
  elseif column = 5 then
    Me.CellType(row,5)=ListBox.TypeCheckbox
  elseif column = 6 then
    Me.CellType(row,6)=ListBox.TypeCheckbox
  elseif column = 7 then
    Me.CellType(row,7)=ListBox.TypeCheckbox
  else 
    Me.CellType(row,column)=ListBox.TypeEditable
    Me.EditCell(row,column)
  end if
  
  
  CaptureColumnCellClick = column
  CaptureRowCellClick = Row

I can only get the listbox.cellclick to fire when my cell is editable. :frowning: