CClientDC dc(this);
    dc.TextOut(10,10,"ok");
可以输出ok,但是对输出的ok字符进行编辑,
不过从键盘输入的字符就可以编辑。怎么样才能
使textout的字符也能进行编辑?

解决方案 »

  1.   

    CEdit& m_edit=GetEditCtrl().SetWindowText("hello world!");
    m_edit.Invalidate();
    m_edit.UpdateWindow();
      

  2.   

    CEdit edit =GetEditCtrl();
    edit.SetSel(nBegin,nBegin);//nBegin时要插入文字的位置
    edit.HideSel();
    edit.ReplaceSel(YourString);
      

  3.   

    好像没有HideSelection这个函数,那是java里面的
      

  4.   

    我不是要这样的,我是想直接在EditView里面编辑TextOut输出的字符。
    不是在edit里面。也不是用程序控制的,直接就可以用键盘,鼠标对字符进行编辑。删除,增加就可以了。
    不过我细想,可能不行,我是在View里面输出的,都是图形,doc里面都没有保存这些数据啊。所以是不是无法进行编辑,要换一种方式?
      

  5.   

    应该用setwindowtext,或者cedit::replacesel等对edit进行操作吧,感觉textout是向dc输出的。
      

  6.   

    呵呵,我重新建了一个工程,webber
    84的办法是可以的,不过在我原来的工程里面加进去
    CEdit& m_edit=GetEditCtrl().SetWindowText("hello world!");
    m_edit.Invalidate();
    m_edit.UpdateWindow();
    后,程序连启动都启动不了。
    是在这里返回错误信息
    BOOL CCharTextApp::InitInstance()里的;
    if (!ProcessShellCommand(cmdInfo))
       return FALSE;
    不过还是要谢谢各位。