MFC中文本框获得焦点后全选如何实现
2个回答
展开全部
假设控件名为pEdit,用SetSel方法可以实现全选。
CEdit* pEdit;
pEdit->SetSel(0, -1);
CEdit* pEdit;
pEdit->SetSel(0, -1);
追问
我想问怎样监测是否某个文本框是否获得焦点。
追答
::GetFocus() == pEdit-> m_hWnd
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
窗体上有五个CEdit控件和两个按钮控件
要把获得焦点的指针换成CEdit控件指针才能操作CEdit控件
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) //判断是不是按钮ok控件获得焦点
{
OnOk();
}
}
CWnd *pmwnd = GetNextDlgTabItem(pwnd); //获得下一个Tab顺序的指针
if (pmwnd)
{
pmwnd->SetFocus(); //设置焦点
CEdit* pEdit;
pEdit = (CEdit*)pmwnd; //转换成CEdit控件指针
pEdit->SetSel(0, -1); //设置全选中
return TRUE;
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}
要把获得焦点的指针换成CEdit控件指针才能操作CEdit控件
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) //判断是不是按钮ok控件获得焦点
{
OnOk();
}
}
CWnd *pmwnd = GetNextDlgTabItem(pwnd); //获得下一个Tab顺序的指针
if (pmwnd)
{
pmwnd->SetFocus(); //设置焦点
CEdit* pEdit;
pEdit = (CEdit*)pmwnd; //转换成CEdit控件指针
pEdit->SetSel(0, -1); //设置全选中
return TRUE;
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询