MFC对话框的CEdit控件回车换Tab键,并获得焦点全选中文本
Posted greenleaf1976
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC对话框的CEdit控件回车换Tab键,并获得焦点全选中文本相关的知识,希望对你有一定的参考价值。
对话框上有五个CEdit和两个Button控件
//重写PreTranslateMessage函数
BOOL CAddDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN)
{
CWnd pwnd = GetFocus();
if (pwnd != NULL)
{
//判断是否是按钮控件
if (pwnd->GetDlgCtrlID() == IDOK)
{
OnBnClickedOk();
}
}
//获得下一个Tab顺序的控件指针
CWnd pmwnd = GetNextDlgTabItem(pwnd);
if (pmwnd)
{
pmwnd->SetFocus(); //设置下一个控件获得焦点
CEdit* pEdit; //定义CEdit控件指针
pEdit = (CEdit*)pmwnd; //把获得焦点的控件指针转成CEdit控件指针,就这转换都查了好多百度,结果就这么简单):
pEdit->SetSel(0, -1); //设置全选中
return TRUE;
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}
以上是关于MFC对话框的CEdit控件回车换Tab键,并获得焦点全选中文本的主要内容,如果未能解决你的问题,请参考以下文章
为啥 UpdateData() 在 MFC CEdit 控件的 EN_CHANGE 处理程序中不起作用