解决方案 »

  1.   

    "但内容一直是本行首列的文本"ListCtrl
     就是这样, 所以 才有 “自己做一个CEdit” 的 说法。
      

  2.   

    子类化时,EDIT中已经有了内容。用SPY++跟踪了一下,发现EDIT是自动Create的,Create后向父窗口发了WM_PARENTNOTIFY通知,wParam为WM_CREATE,在这里下断,发现也已经有值了,应该是在Create过程中就向父窗口发送LVM_GETITEMTEXT了,这个消息目前是截获不了的。现在正在学HOOK过程,但愿能拦截,返回真实的行列文本。
    我还是愿意用自带的edit,因为延时出编辑框的功能很好,开始编辑,结束编辑都有现成的通知。
    即便是在:
    void CMyEdit::PreSubclassWindow() 
     { 
    char pszText[256];
    CMyList* pList = (CMyList*)GetParent();
    pList->GetSelItemText(pszText, sizeof(pszText));
    }
    这种情况下赋值,感觉也不错。且自绘不影响这个编辑框的工作。