Mask editing in TStringGrid

I'd like to use a mask in TStringGrid cells to allow users to type a numbers
with decimals.

If i set a mask like '9990.00', it works fine if the user fills ALL the
blank characters. If the number is 10.99 (for example), the result of the
edition is '10     .99' all with lot's of blank spaces.

I could format the text when the user leaves the cell, but the OnSetTextEdit
event is triggered everytime the user types a character and not
AFTER the user finishes the edition (like the Help System says it is).

The solution would come if the numeric characters could be inserted on the
left side of the '.' if the user didn't press it yet, and on the right side
if the user has already pressed it.

For example, if the mask is '990.00', we should have the following efects:
1) user types '4' <enter>, the result should be '4.00'
2) user types '.05' <enter>, the result should be '0.05'
3) user types '3.5' <enter>, the result should be '3.50' ... and so on

Is there an easy way to fix this problem?