为什么我的CEdit不能movewindow到指定的subitem位置啊?(注:可以产生相应的编辑框,可位置不正确)
代码如下:
   void RTU::OnDblclkRtulistctrl(NMHDR* pNMHDR, LRESULT* pResult) 
{
    // TODO: Add your control notification handler code here
    int m_iItem, m_iSubItem;
    CRect rcSubItem;
    NMITEMACTIVATE *pLSV = (NMITEMACTIVATE*)pNMHDR;
   if( (pLSV->iItem != -1)&& (pLSV->iSubItem != 0) )// 命中某子项
   {
     m_iItem = pLSV->iItem;// 保存命中子项的位置
     m_iSubItem = pLSV->iSubItem;
     //m_lsvTest.EditLabel(m_iItem);
   }
   
   m_rtuListCtrl.GetSubItemRect(m_iItem, m_iSubItem, LVIR_LABEL, rcSubItem);
    
   DWORD edStyle = WS_VISIBLE|WS_BORDER;    m_edit.Create(edStyle,rcSubItem, this, 1110);   m_edit.MoveWindow(rcSubItem,TRUE);
   m_edit.SetFocus();   
   *pResult = 0;
}

解决方案 »

  1.   

    把编辑控件的父窗口设置为列表控件,加入如下m_edit.SetParent(&m_rtuListCtrl);或 m_edit.Create(edStyle,rcSubItem, m_rtuListCtrl, 1110);
      

  2.   

    哎,快郁闷死了。这个问题是可以了,可原先可以显示出从m_rtuListCtrl取出的数据,现在却显示不出来了
    原来的代码是:
       str = m_rtuListCtrl.GetItemText(m_iItem,m_iSubItem);
       SetDlgItemText(1110,str);
      

  3.   

    m_edit.SetWindowText(str);父窗口变了,不能用 SetDlgItemText
      

  4.   

    思危啊,你是不是老师啊。要是老师就好了,可以拜你为师了,太强了。
    顺便再解决一问题吧。同样的原理,为什么我换作CComboBox就不可以了??
    代码: 
             DWORD dstyle = CBS_DROPDOWN|CBS_DISABLENOSCROLL;
     m_combox.DestroyWindow();
     m_combox.Create(dstyle,rcSubItem,&m_rtuListCtrl,1101);
         
     str = m_rtuListCtrl.GetItemText(m_iItem,m_iSubItem);
              m_combox.SetWindowText(1101,str);
              m_combox.SetFocus();
      

  5.   

    DWORD dstyle = CBS_DROPDOWN|CBS_DISABLENOSCROLL|WS_VISIBLE|WS_CHILD;