CString m_strEdit;
//获得edit框内容
UpdateData(TRUE);
此时m_strEdit就是edit框内容的字符串变量。
//要更新edit的话只要对m_strEdit进行赋值然后
UpdataData(FALSE);//即可
如果是一些对edit框的复杂操作建议用cedit类型。
示例:
CEdit m_ctrlEdit;
选中从第101个(从0开始索引号为100的字符)开始的50个字符,要防止滚动可以包含第3个参数并将其设置为TRUE
如果不可见 将所选内容滚动到视图中
m_ctrlEdit.SetSel(100,150);
m_ctrlEdit::ReplaceSel
可以在编辑控件中插入文本而不删除以有的内容,如果在调用ReplaceSel时一个或多个字符被选中
,插入的文本将取代被选中的文本,否则文本在当前插入位置出被插入.
//将光标移到开头
m_ctrlEdit.SetSel(0,0);
//将光标移到末尾
m_ctrlEdit.SetSel(-1);
//选中所有内容
m_ctrlEdit.SetSel(0,-1);
//写入值
m_ctrlEdit.ReplaceSel("替换内容");
//得到当前edit框中的所有字符数
int iStart,iCount;//iCount 为字符数
m_ctrlEdit.SetSel(0,-1);
m_ctrlEdit.GetSel(iStart,iCount);
还一种可以直接用控件的id值来进行操作
示例:
(CEdit*)GetDlgItem(IDC_EDIT)
他类似于上边的m_ctrlEdit
这样写的好处是可以在消息传递中使用,便于不同窗口间传递edit内容
例如:下面的消息响应函数中
SetEditContent(WPARAM wPARAM, LPARAM lPARAM)
IDC_EDIT可以通过wPARAM传递近来,而字符传内容可以直接通过lPARAM传递近来
CString Msg="要传递的消息";
::SendMessage(m_hParent,WM_SENDMSG_EDIT,(WPARAM) IDC_EDIT, (LPARAM)(LPSTR)(LPCTSTR)Msg)
如:
((CEdit*)GetDlgItem(wPARAM))->SetSel(-1);
((CEdit*)GetDlgItem(wPARAM))->ReplaceSel((LPCSTR)lPARAM);