鼠标(光标)不能选取CEdit中的文本内容???
鼠标(光标)不能选取CEdit中的文本内容???
好奇怪~我通过移动(MoveWindow())放在ClistCtrl中的子项上的一个CEdit框~输入文本后不能用鼠标(光标)选取 那文本~(选取后显示蓝地白字那种)
void CSheetPage::OnLvnItemActivateListFenxi(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMITEMACTIVATE pNMIA = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
if (pNMIA->iItem > iAllLineNum - 2 )
{
if (pNMIA->iSubItem <1)
return;
CRect rcCtrl;
Listfenxi.GetSubItemRect(pNMIA->iItem,pNMIA->iSubItem,LVIR_LABEL,rcCtrl);
rcCtrl.MoveToXY(rcCtrl.left+2 ,rcCtrl.top + 2);//可以不用
if(!m_edit)//初始化一次~
{
m_edit.Create(WS_CHILD|ES_CENTER|ES_WANTRETURN//|ES_NUMBER|
,CRect(0,0,0,0),this,IDC_EDIT_LIST);
CFont tpFont;
tpFont.CreateStockObject(DEFAULT_GUI_FONT );
m_edit.SetFont(&tpFont);
tpFont.DeleteObject();
}
m_edit.ShowWindow(SW_HIDE);
CString strItem = Listfenxi.GetItemText(pNMIA->iItem,pNMIA->iSubItem);
m_edit.MoveWindow(rcCtrl);
m_edit.ShowWindow(SW_SHOW);
m_edit.SetWindowText(strItem);
::SetFocus(m_edit.GetSafeHwnd());
m_edit.SetSel(10,10);
m_iedit = pNMIA->iItem;
m_isubedit = pNMIA->iSubItem;
}
*pResult = 0;
}
这个是双击列表项后激发的涵数
iAllLineNum为全局列表总行数~
其中CEdit m_edit;声明在对应的头文件上
CListCtrl Listfenxi;
其他的都无关系拉` ~
就算我不用m_edit.Create(..
用m_edit.SubClassDlgItem(IDC_EDIT_LIST,this)之后都不可以选取内容~
WHY啊~~那里问题?
如果就普普通通的放个CEdit在对话框中就可以用鼠标(光标)选取那文本了~