Why don't you just use a static control? As long as give give it a unique ID (not IDC_STATIC) you can write text into it and change the text and background colour properly by capturing the
WM_CTLCOLORSTATIC message (you don't appear to be able to change the text colour of a disabled edit control by capturing this message). If you adjust the properties of a static control you can make it appear just like an edit control.

Another option would be to use SetSysColors() to change the COLOR_GRAYTEXT system colour but this would affect all other disabled text.