无法将焦点设置为 CEdit 控件
unable to set focus to CEdit control
我在使用CEdit文本框时遇到问题,确切的问题是创建控件后无法将焦点设置为控件。我想做的是:
- 创建临时 CEdit 控件。
- 将焦点设置为控件。
- 从控件中获取数字并将其存储在值中。
- 10 秒后销毁控制。
在互联网上进行一些研究后,我找不到解决问题的方法,因此我向您致辞。希望找到解决方案。提前谢谢。
我试过了 编辑控制。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 在对话框窗口中设置焦点。
相关文章:
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- 在编译时,C++项目抛出错误 C2228,这是预期的,因为控件在运行时未达到该点
- 如何更改窗体上所有控件的标题?[C++生成器]
- 双击更改 mfc 中列表控件中的行的颜色
- 派生的 wxPanel 控件如何访问其中包含 wxDialog 中的数据?
- 如何从代码本身向 wxwidgets 中的文本控件插入字符?
- 如何在MFC中的静态文本控件上插入图标?
- 我的主窗口在创建时或单击更新区域时是否会收到编辑控件?
- 如何在Qt C++中向自定义控件添加属性?
- C/C++ 检测双击 TVItem 的常用控件
- 从C++标头中导入常量而不是硬编码它们:扩展 .net 控件?
- MFC:我们能否扩展CEditView中存在的CEdit控件类行为
- MFC CEdit 控件在添加到加速器后不处理按键
- 在 MFC 中,当 CEdit 控件达到最大字符数时,退格键不起作用
- 无法将焦点设置为 CEdit 控件
- 如何在禁用的MFC CEdit控件中显示插入符号
- 继承的CEdit控件(用于垂直居中的文本)的行为很奇怪
- 是否可以在CEdit控件的纯数字和字母数字输入模式之间切换
- 在CEdit控件中显示省略号