As msflexgrids are not so flexible as the name suggests, I'm using a textbox for data input, so that after hitting return or any other key the proper action is taken (most of the time the textbox must be moved to fit into a neighbouring cell). The inputbox has a light blue background so as to simulate highlighting of the cell it is over.

Also in one of the flexgrid rows is an array of comboboxes, in another row an array of checkboxes and finally, a row has an array of (2 per cell) radio buttons. So if the textbox is in the cell just one above one of these and the down arrow key is hit, it must be made invisible and the control that receives the focus must be highlighted. When this control loses the focus, its backcolor must be set back to default. However, in the case of radio buttons, the control width is so small (to allow 2 of them to fit into the cell) that all that can be done is highlighting the cell itself.
I want to be able to run over all the cells and controls using just the keyboard, but allowing mouse clicks of course.

The whole thing is rather messy and for every problem I fix a new one appears, it's like continuously patching an old garment.

My question is: has anyone worked on something similar? Is there any "general" solution to this scenario? What approach would you guys advise? What I need is the general outlines.