(高手进)MFC中对话框里的编辑框 怎么实现获取鼠标选中的内容?
我知道在文档应用程序中可以用Getselectedtext()那么在对话框的编辑框里呢?我试了CWnd*pWnd=GetDlgItem(IDC_EDIT_Neirong)...
我知道在文档应用程序中可以用Getselectedtext() 那么在对话框的编辑框里呢?
我试了
CWnd* pWnd = GetDlgItem(IDC_EDIT_Neirong);
pWnd->GetWindowText(str);
if (!str.IsEmpty())
MessageBox(str);
m_changdu=strlen(str);
UpdateData(FALSE);
但是只是得到的是编辑框的全部内容, 怎么得到鼠标选中的呢?
zyq_07_28
正解 谢谢大家了。
不过有没有直接像 Getselectedtext() 这样的函数直接用呢 不用分析的 展开
我试了
CWnd* pWnd = GetDlgItem(IDC_EDIT_Neirong);
pWnd->GetWindowText(str);
if (!str.IsEmpty())
MessageBox(str);
m_changdu=strlen(str);
UpdateData(FALSE);
但是只是得到的是编辑框的全部内容, 怎么得到鼠标选中的呢?
zyq_07_28
正解 谢谢大家了。
不过有没有直接像 Getselectedtext() 这样的函数直接用呢 不用分析的 展开
3个回答
展开全部
使用GetWindowText函数。
下面是一段示例程序:
CWnd* pWnd = GetDlgItem(IDC_EDITNAME);
pWnd->SetWindowText(_T("Gerald Samper"));
pWnd->GetWindowText(sz, 10);
希望对你有帮助。
如果你鼠标选中内容的话,可以获取鼠标的焦点对应控件的ID
-----------------------------------
你用的编辑框,代码是这样的,可以得出内容。
void CDlgTestDlg::OnButton()
{
// TODO: Add your control notification handler code here
CString cstr;
GetDlgItem(IDC_EDIT)->GetWindowText(cstr);//IDC_EDIT是你编辑框的ID
MessageBox(cstr);
}
下面是一段示例程序:
CWnd* pWnd = GetDlgItem(IDC_EDITNAME);
pWnd->SetWindowText(_T("Gerald Samper"));
pWnd->GetWindowText(sz, 10);
希望对你有帮助。
如果你鼠标选中内容的话,可以获取鼠标的焦点对应控件的ID
-----------------------------------
你用的编辑框,代码是这样的,可以得出内容。
void CDlgTestDlg::OnButton()
{
// TODO: Add your control notification handler code here
CString cstr;
GetDlgItem(IDC_EDIT)->GetWindowText(cstr);//IDC_EDIT是你编辑框的ID
MessageBox(cstr);
}
参考资料: MSDN
展开全部
int start, end;
/////////////////这句获取鼠标选中的位置///////////////////////////////
m_edit.GetSel(start, end);
////////////////////////在做字符串分析////////////////////////////////
CString str;
m_edit.GetWindowText(str);
str = str.Right(str.GetLength() - start);
str.Truncate(end - start);
/////////////////这句获取鼠标选中的位置///////////////////////////////
m_edit.GetSel(start, end);
////////////////////////在做字符串分析////////////////////////////////
CString str;
m_edit.GetWindowText(str);
str = str.Right(str.GetLength() - start);
str.Truncate(end - start);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ctra + l 全选 就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询