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);

}

签名:GreenLeaf1976
原文地址:https://www.cnblogs.com/greenleaf1976/p/12283182.html