我在CEdit文本框中遇到问题,确切的问题是创建它后无法将焦点设置为控件。
我想做的是:
经过对互联网的研究后,我找不到解决问题的方法,因此请您解决。
希望找到解决方案。提前致谢。
我试过了
editctrl.SetFocus();
DWORD dw = LOWORD(editctrl.GetDlgCtrlID())| HIWORD(EN_SETFOCUS);
SendMessage(WM_COMMAND,(WPARAM)dw,(LPARAM)editctrl.GetHandle());
BOOL CViewsDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if (pMsg->message == WM_KEYDOWN && pMsg->wParam == 0xBB /*+*/)
{
if (!editctrl)
{
editctrl.Create(ES_NUMBER | WS_CHILD|WS_VISIBLE | WS_BORDER | WS_TABSTOP, CRect(0, 0, 100, 20), this, NULL);
editctrl.ShowWindow(SW_SHOW);
editctrl.SetFocus();
//DWORD dw = LOWORD(editctrl.GetDlgCtrlID()) | HIWORD(EN_SETFOCUS);
//SendMessage(WM_COMMAND,(WPARAM)dw, (LPARAM)editctrl.GetHandle());
telestis = e_sinplin;
SetTimer(1, 10000, NULL);
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}
最佳答案
您需要使用CDialog::GotoDlgCtrl在对话框窗口中设置焦点。