Try using columns instead within the strnigGrid..
For the first column you can use a CheckBox button where you can toggle the state of that Row.
There are a couple of things you need to know about this however, one is that all the check mark states are stored in an array somewhere, they are not stored in the grid so there are events in the grid where it ask you the current state and if you have the grid in goEditor then you can toggle but what this does is calls the OnSetCheckBoxState where you need to update your array of values, otherwise the toggle state will get reread from your array and just revert back by using the OnGetCheckBoxState.
This first column will be set to a CheckBox button and the rest of the columns you need will be set to Auto.
I know its a lot to take in but you may want to experiment a bit..
Or you could do the String grid in ownerDraw mode where you can do your own highlighting but you still need to keep an external array active of the selected states. At least you will be able to color your backgrounds to reflect selected states.
I tell you this because from what I know the current state of the grid does not allow to have multiple patched selections. of course I could be wrong about this, it won't be the first.