步骤3、在对话框的PreTranslateMessage写代码:
首先在头文件中声明:
BOOL PreTranslateMessage(MSG* pMsg);
然后再源文件中定义:
BOOL CMfctempDlg::PreTranslateMessage(MSG* pMsg)}
BOOL CSendMsgDemoDlg::PreTranslateMessage(MSG* pMsg)
{
if ((pMsg->message == WM_CHAR) && (pMsg->wParam == VK_RETURN))
{
HWND hwnd1 = ((CEdit*)GetDlgItem(IDC_EDIT_CONTENT))->m_hWnd;
if (pMsg->hwnd == hwnd1)
{
((CEdit*)GetDlgItem(IDC_EDIT_CONTENT))->SetSel(0, -1); //清空Edit框所有内容
//m_edit.PostMessage(EM_SETSEL, 0, -1)
//OnBnClickedBtnOk();
}
}
return CDialog::PreTranslateMessage(pMsg);
}
点击Edit框,清空框内内容:
方法:“响应CEdit的EM_SETFOCUS消息”
void CSendMsgDemoDlg::OnEnSetfocusEditContent()
{
// TODO: 在此添加控件通知处理程序代码
::MessageBox(NULL,_T("按下了Edit框"),_T("提示"),MB_OK);
//((CEdit*)GetDlgItem(IDC_EDIT_CONTENT))->SetSel(0, -1); //清空内容
//m_edit.PostMessage(EM_SETSEL, 0, -1) //全选编辑框中的文本
}