Как всегда пришлось немного поизвращятся и получился следующий код
Код:

CMyEd::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
CString str;
GetWindowText(str);
if(nChar>31)
{
switch(nChar)
{
case 'q':
str+="rr";
break;
default:
str+=(char)nChar;
break;
}
}
if(nChar==8)
str.Delete(str.GetLength()-1);
if(str.GetLength()<100)
SetWindowText(str);
SetSel(str.GetLength(),str.GetLength(),0);
}
единственный минус это неподдерживает вставки т.е. ctrl+v