Disabled control in a DataGridView cell

From time to time you need to show a disabled control within DataGridView control. As you might already know, a grid cell has ReadOnly property which is not useful for the case because controls still looks enabled even if they are placed in disabled cell.The good thing is that the way to get it exists. The bad thing is that we should paint the control on our own.