The error is not arising from missing columns, but from missing (column) items. Did you try to create the item(s) via the Object Inspector columns editor, or in code?
I dragged and dropped the StringGrid on the frame.
I just tried:
StringGrid1.Cells[3,3]:='3;3';
StringGrid1.Columns.Items[3].ButtonStyle:=cbsCheckboxColumn;
First line is fine, the second one resulted in the same error message.
I will try Blaazen's proposal and report.
Edit: In the IDe object editor, I clicked on columns and I created 5 colums. Now
StringGrid1.Columns.Items[3].ButtonStyle:=cbsCheckboxColumn; works.
Probably I should use
StringGrid1.Cells[3,3]:='3;3';
If 3 < StringGrid1.VsisibelColCount then StringGrid1.Columns.Items[3].ButtonStyle:=cbsCheckboxColumn;
Checkboxes were grayed and did not react on clicking on them. I added
goEditing:= true to the StringGrid options. Now they are manually checkable, but other cells are also editable. Is it possible to set this behaviour per column/ cell or I have to emulate it some other way (i.e. OnClick will resuts in checking/unchecking?)