1) Try handling the CurrentCellStartEditing event and cancel it if it is a FormulaCell.
private void gridControl1_CurrentCellStartEditing(object sender, CancelEventArgs e)
{
GridCurrentCell cc = this.gridControl1.CurrentCell;
if(this.gridControl1[cc.RowIndex, cc.ColIndex].CellType == "FormulaCell")
{
e.Cancel = true;
}
}
2) The grid either uses the Themed DrawCheckBox or the ControlPaint.DrawCheckBox to draw its checkboxes, so there is no property setting that will allow you to swap out the bitmaps. But there are several ways you can draw your own. One is to derive the CheckBox celltype and override the renderer.DrawCheckBox. Then you could draw what you want. Another option that does not require deriving a cell type would be to handle the DrawCell event. In your handler, you could test e.Style.CellType == "CheckBox" and then draw what you want for the CheckBox setting e.Cancel = true to prevent the grid from overdrawing your work.