As others have mentioned, you use the EM_SETREADONLY message. However, this will cause the edit box to be grayed out. You can still select the text, copy it, etc.. If you want the control to look like a normal edit control, but be read-only, then you need to catch WM_CONTROLCOLOR and look for the controls window handle and return a brush that's the same as the users color preferences. I'd advise against that, though. It confuses users when a control looks editable, but really isn't. -- Where are we going? And why am I in this handbasket?