情况如下:我是用setcaretpos()来实现的,但是我碰到一个问题,我用它定位之后,却不能在定位之处进行输出。每次输出的时候都会回到原始位置。

解决方案 »

  1.   

    你可以参考下面的代码来做//移动编辑窗口光标到最后
    void CDockPadDlg::MoveEditCurToEnd()
    {
    UINT nBufLength;
    nBufLength = m_strEditText.GetLength();
    m_editCtrl.SetSel(nBufLength,nBufLength,FALSE);
    }
      

  2.   

    请问三黑,我看不懂Saiment写的
    该换那种思维呢?
    这个问题对我很重要,希望大家可以帮我!!
      

  3.   

    在这个类里,用Textout根本输出不了字符。还是用得类有错?
    Saiman说的CDockPadDlg是哪个类阿,再msdn里找不到MoveEditCurToEnd这个函数。
      

  4.   

    //到几X行第Y个字符
    CEdit*pEdit = GetEditCtrl( );
    int nLine = pEdit->GetLineCount();
    if (X > nLine)
      return FALSE;
    int nChar = 0;
    for(int i = 0 ; i < X ; i++)
    {
    nChar += pEdit->LineIndex(i);
    }
    nChar += Y;
    pEdit->SetSel(nChar,nChar);
      

  5.   

    既然是输出,还用光标干什么?又不是DOS还要光标定位
    直接在VC做界面的时候搞完就OK
      

  6.   

    我是想在com口抓出vt100的命令,通过视图显示。所以需要在视图中任意定位输出
      

  7.   

    Phourm兄的意思我明白,可是这样做的前提是要用字符充满整个屏幕。可我的意思是在屏幕上任意定位然后输出。不知道该怎么做???
      

  8.   

    加空格呗 呵呵要任意为止还用什么EDIT,随便用个CWnd做TextOut好了
      

  9.   

    在这个类里,用Textout根本输出不了字符。还是用得类有错?
    Saiman说的CDockPadDlg是哪个类阿,再msdn里找不到MoveEditCurToEnd这个函数。__________________________________________________
    不好意思,误导了:CDockPadDlg   是我自己从 CDialog  中派生出来的类在这个 DockPadDlg  中有一个 Edit上面写的函数 MoveEditCurToEnd 是自己写的,做用如注释
    你可以根据上面的代码来改吗
    再看看  Phourm  写得,不错,我以为你能看懂我写的是什么意思
      

  10.   

    看了你上面的回复你从COM取VT100的内容显示,那么你用 CEDIT  可能就不行了,如同你自己说的
    EDIT 要有字符的地方才能移过去
    用 SPY++  查看 TELNET 的输出窗口,发现没有使用 EDIT  类,是自己写的新的类,      
             查看其它类 TELNET 的软件,输出窗口为  AfxFrameOrView 
    看来要作出你说的那种效果就要自己设计一个新的类了 :)一点建议: 你可以先设定字符的字体,相应的取出标准字体的大小,就可以确定你的视窗内可以显示多少字体,每个字应在什么位置
              在要输出字符时就可以  dc.textout  了
      

  11.   

    我的那个东东想用CRichEditView作,输出我用SetSel,SetSelReplace这两个函数,但是在窗口输出我想把它每行定位80个字符的输出,而且只显示25行,这个问题我无解决。
      

  12.   

    saimen兄你说得没错。我用SPY++看了一下,输出窗口的确为AfxFrameOrView.
    我的知识还很浅薄,对这些东西还不太了解。
    我的那个东东又想用CRichEditView作,输出我用SetSel,SetSelReplace这两个函数,但是在窗口输出我想把它每行定位80个字符的输出,而且只显示25行,这个问题我不知道该怎么解决。你的建议我在琢磨琢磨看看。